- Install NVM
- Go to the project root folder and run
nvm use
. This will make sure the right version of Node is used. - Add a mnemonic and password for easy testing. Create
.env
file:MNEMONIC="your seed phrase" PASSWORD="123123123"
- Install npm dependencies
yarn install
- Install Cocoapods dependencies
cd ios && pod install && cd ..
- Ensure you have JDK11 installed and setup
- Ensure you have latest version of Xcode and Command-Line-Tools
- To simulate background fetch in iOS emulator, build and run the /ios/LiqualityMobile.xcworkspace directly in Xcode and navigate to the 'Signing and capabilities' –> 'Background Modes' → to make sure that the following are checked:
- Audio, Airplay and Picture in Picture
- Background fetch
- Remote notifications
- Background processing
- Make sure to create a .env file and add these environment variables to it: MNEMONIC, PASSWORD, and INFURA_API_KEY
- For iOS
yarn run ios
- For Android
yarn run android
We are using rn-nodeify to provide polyfills for the code that is using crypto and Node related modules. All the magic happens when we load the shim.js file. The shim file is generated in the postinstall step
yarn run lint
yarn run test
- iOS
cd ios/fastlane && fastlane ios beta
- Android
cd android/fastlane && fastlane android alpha
- Sentry.io
- FBReactNativeSpec - Command PhaseScriptExecution failed with a nonzero exit code
react-native-community/upgrade-support#161
In node_modules/react-native/scripts/find-node.sh, comment out this code block:
if [[ -s "$HOME/.nvm/nvm.sh" ]]; then
# shellcheck source=/dev/null
. "$HOME/.nvm/nvm.sh" --no-use
nvm use 2> /dev/null || nvm use default
elif [[ -x "$(command -v brew)" && -s "$(brew --prefix nvm)/nvm.sh" ]]; then
# shellcheck source=/dev/null
. "$(brew --prefix nvm)/nvm.sh" --no-use
nvm use 2> /dev/null || nvm use default
fi
- Android Error: Plugin with id 'maven' not found
Replace maven with maven-publish