๐Ÿ“ From idea to app store. A recommended check list for shipping react-native apps.
Switch branches/tags
Nothing to show
Clone or download
harrisrobin Creates cicd-tools/common-app-rejection.md
Auto commit by GitBook Editor
Latest commit 4954dac Nov 29, 2017
Permalink
Failed to load latest commit information.
app-icons-and-splash-screen Updates app-icons-and-splash-screen/automatic.md Nov 29, 2017
assets Creates assets/Screenshot 2017-11-28 19.28.46.png Nov 29, 2017
cicd-tools Creates cicd-tools/common-app-rejection.md Nov 29, 2017
development-strategy Updates development-strategy/focus-on-one-check-both.md Nov 29, 2017
renaming-your-app Updates renaming-your-app/rename-app-automatically.md Nov 29, 2017
testing-your-app Updates testing-your-app/detox.md Nov 29, 2017
.gitignore Initial commit Jul 19, 2017
LICENSE Initial commit Jul 19, 2017
README.md added development strategy tips section Jul 20, 2017
SUMMARY.md Creates cicd-tools/common-app-rejection.md Nov 29, 2017
app-icons-and-splash-screen.md Creates assets/Screenshot 2017-11-28 19.28.46.png Nov 29, 2017
app-starters.md Creates assets/Screenshot 2017-11-26 21.10.09.png Nov 28, 2017
cicd-tools.md Creates cicd-tools/common-app-rejection.md Nov 29, 2017
debugging-your-ui.md Creates debugging-your-ui.md Nov 29, 2017
development-strategy.md Updates development-strategy.md Nov 28, 2017
keep-tabs-on-native-logs.md Creates cicd-tools/common-app-rejection.md Nov 29, 2017
renaming-your-app.md Updates development-strategy/focus-on-one-check-both.md Nov 29, 2017
submission-d83d-de80.md Creates cicd-tools/common-app-rejection.md Nov 29, 2017
t.md Updates development-strategy.md Nov 28, 2017
testing-your-app.md Updates testing-your-app/detox.md Nov 29, 2017
upgrade-react-native-with-caution.md Creates cicd-tools/common-app-rejection.md Nov 29, 2017

README.md


Markdownify
React Native Checklist

A check list to refer to before starting a react-native project. All credit goes to Chris Ball as this is heavily based on his Chain React 2017 talk.

Disclaimer: This is still a work in progress. If you notice any mistakes, PRs are very appreciated.

Table of content

Prerequisites

App Store and Google Play

iOS

If you are a company, you will need a D-U-N-S number.

Check whether you have a D-U-N-S number here . If you don't have one, you will be given the option to apply.

Otherwise, you can sign up as an individual.

Android

Google is simpler, however you should still know if you are enrolling as a company or individual.

Sign up ๐Ÿ‘‰ Google Play.

Init App

Starters

There are many boilerplates/starter kits for react-native out there. I highly recommend using create-react-native-app as a starting point, however if you do not mind learning the boilerplates, you will find a list of good starters below.

ignite ๐Ÿ”—

pepperoni-app-kit ๐Ÿ”—

Development Strategy Tips

Focus on one, check both.

Even if you choose to focus on one platform at first, it is recommended that you always check both, especially if you are installing a lot of third-party libraries. React Native is constantly changing and the libraries you are using probably cannot keep up with all the breaking changes being introduced. If you want to avoid making bad decisions and identifying potential road blocks early, make sure you always check both platforms.

Even better, focus on Android and check iOS. This is because Android is the platform most likely to make you run into issues.

App Icons and Splash-screen

Generate App Icon & Splash-screen Automatically

๐Ÿ’ป๐Ÿ“ฒ (Recommended)

Generating app icons and a splash-screen doesn't have to be hard. Simply install generator-rn-toolbox and follow the instructions to get them for both iOS and Android.

Generate App Icon & Splash-screen Manually

If you do not go with the automatic way, you will need to generate your app icons in the following sizes for each respective format:

Original answer

iOS

  • In iOS, set AppIcon in Images.xcassets
  • Add 9 different size icons:
    • 29pt
    • 29pt*2
    • 29pt*3
    • 40pt*2
    • 40pt*3
    • 57pt
    • 57pt*2
    • 60pt*2
    • 60pt*3.

Android

  • Put ic_launcher.png to folder ``[PrjDir]/android/app/src/main/res/minmap-*`.
    • 72*72 ic_launcher.png to mipmap-hdpi.
    • 48*48 ic_launcher.png to mipmap-mdpi.
    • 96*96 ic_launcher.png to mipmap-xhdpi
    • 144*144 ic_launcher.png to mipmap-xxhdpi

Rename

Rename App Automatically

Use react-native-rename to automatically rename your react-native app fro iOS and Android

Rename App Manually Manual

Renaming a react-native app manually is simple.

iOS

The app name displayed on the iPhone home screen comes from the CFBundleDisplayName (or "Bundle display name") as the human-readable string in Xcode) entry of your iOS app's info.plist. display name

Android

The app name on android comes from AndroidManifest.xml. Check the label attribute of <application>

This value is typically referenced as a named variable, defined in strings.xml app name

CI

CI Comparison Table

Legend

โœ… : Officially supported.

โŒ : Not supported.

๐Ÿ”Œ : Community supported or left to developer to integrate

Feature Buddy Build VS Mobile Center
Crash Reports โœ… โœ…
Bug Reports โœ… โŒ
Instant Replay โœ… โŒ
Analytics โŒ โœ…
Deploy to store โœ… โœ…

Certificates

// @TODO

Use Fastlane Precheck

Make sure to run fastlane's precheck before submitting your app to Apple's app store. From their repo:

Apple rejects builds for many avoidable metadata issues like including swear words ๐Ÿ˜ฎ, other companiesโ€™ trademarks, or even mentioning an iOS bug ๐Ÿ›. fastlane precheck takes a lot of the guess work out by scanning your appโ€™s details in iTunes Connect for avoidable problems. fastlane precheck helps you get your app through app review without rejections so you can ship faster ๐Ÿš€

๐Ÿ‘‰ ๐Ÿ‘‰Precheck๐Ÿ‘ˆ ๐Ÿ‘ˆ

Common App Rejection

Make sure to read over Apple's common app rejection before submitting to the app store. These are the most common issues that apple rejects apps for, so save yourself the trouble and make sure your app won't be rejected for obvious reasons.

๐Ÿ‘‰ ๐Ÿ‘‰ Apple Common Rejection ๐Ÿ‘ˆ ๐Ÿ‘ˆ