- nodejs
14.2.0
- yarn:
npm install -g yarn
- yarn:
- ruby
2.7.1
- bundler:
gem install bundler
- bundler:
this repo contains
.ruby-version
for rbenv,.node-version
for nodenv and.tool-versions
for asdf-vm
- openjdk (2020/01: working openjdk version:
11
- Android Studio
- environment variable
ANDROID_HOME
need to be set - https://reactnative.dev/docs/environment-setup
- environment variable
- XCode, install via mac Appstore
- After installing XCode, launch XCode to install components and run
sudo xcode-select --switch /Applications/Xcode.app
git clone git@git.5xruby.com:spree-example/spree-example-rnapp.git
cd spree-example-rnapp
yarn
bundle
cd ios/
bundle exec pod install
cd ../
you will need to re-run this after changing to node dependencies
yarn start
DO NOT CHECK Automatically manage signing
! this might break other developers/CI codesign!
We are using fastlane match to manage and prepare iOS certificates and provisioning profiles, see how it works here
Every bundle exec fastlane match
command requires passphrase of iOS app certs repo
, this will be prompted by the command or set with MATCH_PASSWORD
$ bundle exec fastlane match development --readonly
this commands will pull provisioning profiles and certificates from app certificate repo
After
- updating app capabilities
- certificate expiring
- or someone doing something wrong about certificates and provisioning profiles
- manually changing provisioning profiles and certificates on apple dev
- check
Automatically manage signing
and allow XCode doing something nasty
Provisioning profiles or certificates may become invalid
or not sync with app certificate repo, which will make other developers/CI fail
There is an apple dev id (see fastlane/Matchfile
) to manage certificates and provisioning profiles, you will need to login to this apple id and its credentials will be requested by fastlane match
commands: https://git.5xruby.com/spree-example/spree-example-rnapp/-/wikis/creds#managing-apple-certificates
# for development certificates and provisioning profiles:
$ bundle exec fastlane match nuke development
$ bundle exec fastlane match development
# for appstore and distribution certificates and provisioning profiles:
$ bundle exec fastlane match nuke distribution
$ bundle exec fastlane match appstore
These commands will regenerate provisioning profiles and certificates then sync to app certificate repo
bundle exec fastlane match
commands will uselogin
keychain by default, you will be prompted to enter password for this keychain, this password is your mac's user password
This is only required if you want to create a build to upload to play store; For development, this is NOT REQUIRED
To prepare apk signing for releasing to google play, export ANDROID_SIGNING_PASSWORD
environments before gradlew
/ fastlane build
:
export ANDROID_SIGNING_PASSWORD=...
connect to android device with adb debugging or emulator, use adb devices -l
to verify, then:
yarn android
open ios/SpreeExampleRNApp.xcworkspace
, choose device/emulator to run and press play button
This is done by Fastlane, please see fastlane/README.md
and fastlane/Fastfile
- Our
fastlane
is installed by bundler, please execute fastlane bybundle exec fastlane ...
, and there is no need togem install fastlane
- For deployment (uploading) credentials, please see: https://git.5xruby.com/spree-example/spree-example-rnapp/-/wikis/creds#for-app-deployment
- You will probably need to access Google play console / App store connect to manage release or beta testing, ask project manager for the access