An immersive way to learn a language built with React Native and Redux.
https://facebook.github.io/react-native/docs/getting-started.html#requirements
brew install yarn --without-node # assuming you use nvm
brew install watchman
npm install -g react-native-cli
yarn install
react-native link
To run the app in simulator open project in Xcode and press play or use this command in terminal
react-native run-ios
- Get an App ID
- Set up AppIcon and LaunchImage in
Images.xcassets
- Make sure to bump the Build reference
- Cmd+Shift+< - Switch Debug to Release
- Set device destination to "Generic iOS Device" or an actual (connected) iOS device
- During Product -> Archive might be an issue with certificate (keychain access)
React Native reference: https://facebook.github.io/react-native/docs/upgrading.html
TestFlight reference: https://www.raywenderlich.com/101790/ios-beta-testing-with-testflight-tutorial
Icon and Launch Screen references:
http://stackoverflow.com/questions/34027270/ios-launch-screen-in-react-native
- Get development and production certificates from Apple (tutorial) and (tutorial)
- Get certificate signing request (tutorial)
- Download development and production certificates
- Add these certificates to Keychain
- Export them as .p12 files
- Create platform application using certificate (tutorial)
- Create AWS account (tutorial)
- Upload dev/prod certs to your push service (AWS SNS)
- Keep in mind that for Testflight you need production APNS certificate
- Create Amazon IAM user with SNS permissions
- accessKeyId
- secretAccessKey
- region
- Client (tutorial)
- React Native - PushNotificationIOS
- In the app
PushNotificationIOS.requestPermissions()
- Get and store device token
PushNotificationIOS.addEventListener('register', ...
- Server (tutorial)
- Install AWS SDK
npm i aws-sdk -S
- Configurations:
PlatformApplicationArn
andToken
(Device Token from the client) - Create endpoint with
sns.createPlatformEndpoint
(tutorial) - Publish through
sns.publish
- Install AWS SDK
- Move and updated code base (/app)
- Move and install package.json dependencies
- Link native modules
react-native link
- Update AppDelegate.m file with changes
- PushNotificationsIOS core module
- Info.plist configs
- SSL only domain exceptions
- Description for using native APIs
Packages to deprecate:
firebase-util
- Upgrade
firebase
- Upgrade
react-native-invertible-scroll-view
- Upgrade
react-native
- Upgrade
jest-react-native
Play sound in silent mode iOS read here