This repository contains the code for the new Insanity Radio iOS and Android app.
It is to be developed independently of web-player. This is because web-player does not compile to native code, and the HTML5 performance on devices is bad.
In the root directory, run npm install.
To build for iOS and Android platforms, you need either Xcode or Android Studio installed.
npx react-native run-ios
npx react-native run-android
Make sure you have some sort of app signing key set-up. For Insanity, this should be the keystore we've used since 1.0, as the certificate chains need to match or something.
First, build the JavaScript bundle
npx react-native bundle --platform android --dev false --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/ --entry-file index.js
Next, make sure you've edited ~/.gradle/gradle.properties and filled in the following:
INSANITY_RELEASE_STORE_FILE=/path/to/my-release-key.keystore
INSANITY_RELEASE_KEY_ALIAS=my-key-alias
INSANITY_RELEASE_STORE_PASSWORD=*****
INSANITY_RELEASE_KEY_PASSWORD=*****
You can get these values from the Head of Computing if you need them for any reason.
Finally, build and sign the APK.
bash -c 'cd android && ./gradlew assembleRelease'
First, build the JavaScript bundle
npx react-native bundle --platform ios --dev false --bundle-output ios/com.insanityradio.player_v2/main.jsbundle --entry-file index.js
Next, edit AppDelegate.m. You must swap over comments on the lines starting jsCodeLocation = , such that the bottom one is uncommented.
Third, with the application open in Xcode, go to Product, Build. This will build the app for release.