Firstly, you need a Mac computer for iOS development. If you want to build an Android app only, you can try experimental Linux and Windows support. These instructions presume an OS X installation.
Before you get started, make sure you have the following dependencies installed on your machine:
-
NodeJS 5.x
-
Homebrew (or an alternative way to install OSX packages)
-
Latest React Native CLI
$ npm install -g react-native-cli -
React Native Package Manager
$ npm install -g rnpm
$ npm install
$ cp env.example.js env.js
-
Before you start you need to create a new application in Auth0
-
Set
AUTH0_CLIENT_IDandAUTH0_NAMESPACEinenv.jsaccording to your application you created in AuthAUTH0_CLIENT_ID: '<CLIENT_ID>', AUTH0_NAMESPACE: '<APP_NAME>.eu.auth0.com' -
Follow the steps for your platform below. Check the official instructions for more information.
The Auth0 login and sign up screens can be customized through the Lock extension.
iOS
- Change default values in the customiseTheme method in
src/services/auth0.js - If you want to add images, copy them in the root
imagesfolder and add them via Xcode > file > add files to the project in 3 different resolutions (needs to be original and x2 and x3 versions) - All changeable values can be retrieved here
Android
- Change default values for the AppTheme.Lock in
android/app/src/main/res/values/styles.xml - Add images in
android/app/src/main/res/mipmap-<hdpi|mdpi|xhdpi|xxhdpi>in 4 different resolutions - All changeable values can be retrieved here
- Install Requirements:
- XCode for iOS development(download from Mac App Store)
- Ruby (>2.2) to run CocoaPods
- CocoaPods for iOS package management
-
Install native iOS dependencies
$ (cd ios; pod install) -
Build the app and run the simulator:
$ react-native run-ios
More details here: React Native Android Setup
-
Install latest JDK
-
Install the Android SDK
$ brew install android-sdk -
Set ANDROID_HOME environment variable in .bashrc:
$ export ANDROID_HOME=/usr/local/opt/android-sdk -
Start Android SDK Manager
$ android -
Add SDK tools via Android sdk manager
- Android SDK tools
- Android SDK Platform-tools
- Android SDK Build-tools (Important: Rev. 23.0.1)
- SDK Platform
- Intel x86 Atom_64 System Image
- Intel x86 Atom System Image
- Android Support Repository
- Android Support Library
- Intel x86 Emulator Accelerator (HAXM installer)
-
Configure and install hardware acceleration
$ open /usr/local/opt/android-sdk/extras/intel/Hardware_Accelerated_Execution_Manager/IntelHAXM_<version>.dmg -
Open Android Virtual Device manager
$ android avd -
Add new virtual device
- name: reactnative
- Device: Nexus 5
- Target: Android 6 - API Level 23
- CBU: Intel Atom x86
- check Use Host GPU
-
Build app and run emulator:
$ react-native run-android
Windows not yet supported.