- Standard compliant React Native App Utilizing Ignite
Step 1: git clone this repo:
Step 2: cd to the cloned repo:
Step 3:
-
nvm install 10.0.0
-
modify runIos.js
-
RCTModuleMethod.mm add the following line 93
RCTReadString(input, "__attribute__((__unused__))") ||
Install the Application with yarn or npm i
- cd to the repo
- Run Build for either OS
- for iOS
- run
react-native run-ios
- run
- for Android
- Run Genymotion
- run
react-native run-android
This project adheres to Standard. Our CI enforces this, so we suggest you enable linting to keep your project compliant during development.
To Lint on Commit
This is implemented using husky. There is no additional setup needed.
Bypass Lint
If you have to bypass lint for a special commit that you will come back and clean (pushing something to a branch etc.) then you can bypass git hooks with adding --no-verify to your commit command.
Understanding Linting Errors
The linting rules are from JS Standard and React-Standard. Regular JS errors can be found with descriptions here, while React errors and descriptions can be found here.
This project uses react-native-config to expose config variables to your javascript code in React Native. You can store API keys
and other sensitive information in a .env file:
API_URL=https://myapi.com
GOOGLE_MAPS_API_KEY=abcdefgh
and access them from React Native like so:
import Secrets from 'react-native-config'
Secrets.API_URL // 'https://myapi.com'
Secrets.GOOGLE_MAPS_API_KEY // 'abcdefgh'
The .env file is ignored by git keeping those secrets out of your repo.
- Copy .env.example to .env
- Add your config variables
- Follow instructions at https://github.com/luggit/react-native-config#setup
- Done!
-
$ npm install -g appcenter-cli -
$ npm install -g code-push-cli -
type this to command line
appcenter login -
create app to appcenter by typing this command to command line
appcenter apps create -d <appDisplayName> -o <operatingSystem> -p <platform>
appDisplayName = unskool
operatingSystem = Android OR iOS
platform = React-Native
-
deploy changes using this command
appcenter codepush deployment add -a <ownerName>/<appName> Stagingappcenter codepush deployment add -a <ownerName>/<appName> Production
please once check this link for more info https://docs.microsoft.com/en-us/appcenter/distribution/codepush/cli
-
Install node dependancy
$ npm i -
pod install
$ cd ios $ pod install -
run in ios device
$ react-native run-ios -
run in android device
$ react-native run-android
Node : 12.16.3
npm : 6.14.4
pod : 1.9.1