I have decided to fork
kappa-mobile
into kappa-pwa and deliver the mobile focused version via the website similar tokappa-desktop
. This choice is to improve the maintainability of thekappa
project I started for future Web Chairs who may not be as familiar withreact-native
and have difficulty keeping the iOS and Android versions up to date with newexpo
releases and App Store regulations. While the experience of a mobile app can't quite be achieved by a PWA, the lack of App Store update reviewal processes and the more stable process of web development will help the project survive after I have graduated. This project will be a historical archive of the very originalkappa
release I started in my Junior year and will stop being updated as soon askappa-pwa
goes live. Thank you. ~ @jtaylorchang
Create a file src/secrets.ts
as follows:
export const API_URL = '<CHANGE ME>';
export const GOOGLE_CLIENT_IDS = {
iosClientId: '<CHANGE ME>',
androidClientId: '<CHANGE ME>',
iosStandaloneAppClientId: '<CHANGE ME>',
androidStandaloneAppClientId: '<CHANGE ME>'
};
export const SENTRY_DSN = '<CHANGE ME>';
command | description |
---|---|
expo start |
run the development server. Add the -c flag to clear cache |
You can use the appropriate emulator depending on the platform you want to try. The expo CLI will automatically handle the process for building and running the development version without going through the build steps below.
Remember to increment the appropriate expo
, ios
and android
versions when releasing updates
If no changes were made to native binaries, you can update OTA with expo publish
.
- Run
expo build:ios -t archive
and follow the steps to sign in to developer account - Run
expo upload:ios
Note: if the upload step fails with an iTunes Transporter error, use the Transporter app on MacOS to upload manually
- Run
expo build:ios -t simulator
- Run
tar -xvzf <your file>.tar.gz
- Run
xattr -cr <your app>.app
- Run
xcrun simctl install booted kappa-theta-tau.app
- Run
xcrun simctl launch booted kappa-theta-tau.app
First time only:
- Make sure automatic app signing is enabled in the developer console
- Copy the SHA-1 from the developer console (this is the hash to use for credentials)
- Run
expo build:android -t app-bundle
- If you do not have a keystore (first time building) have expo manage the creation. This will be the update key
- Run
expo fetch:android:keystore
to get the keystore (you need this to update the app in the future) - Run
expo fetch:android:upload-cert
to get the upload cert - Upload the generated app bundle to the developer console
Regular process:
- Run
expo build:android -t app-bundle
- Upload the generated app bundle to the developer console
- Download a generic_x86 split APK's. It will be called "google emulator" and pick SDK 29
- Unzip the file
- Run a Pixel 3 configured with SDK 29 (Q)
- Run
adb install-multiple ./*
inside the folder
Note: because the build will generate a new published bundle, it is recommended to build the android version before the iOS version due to the stricter iOS approval requirements.
This project is GPLv2 licensed