Skip to content

Instantly share code, notes, and snippets.

@wilmoore
Last active May 8, 2020 00:31
Show Gist options
  • Select an option

  • Save wilmoore/5de54b250a55b70c693e04ca31d0d70c to your computer and use it in GitHub Desktop.

Select an option

Save wilmoore/5de54b250a55b70c693e04ca31d0d70c to your computer and use it in GitHub Desktop.
The React Native App Store Publishing Guide

The React Native App Store Publishing Guide

Made with ♥ by Polyglot.

  • Generating the Distribution Certificate
  • Generating the Provisioning Profile
  • Generating the standalone .ipa for iOS

CI

Slides & Videos

Circle CI

Circle CI + Fastlane

Turtle

References

Delete Previous Certificates

(a) delete local files
> rm ios_distribution.*
(b) delete provisioning profile
  1. Profiles
    • Select tipoff-distribution
    • Click Remove
  2. Certificates
    • Select Happii LLC
    • Click Revoke
  3. open -a 'Keychain Access.app'
    • Under Keychains, Select login
    • Under Category, Select My Certificates
    • Right-Click, then Select, Delete "iPhone Distribution: Happii LLC (PRA85XDG9L)" Delete "iPhone Distribution: Happii LLC (PRA85XDG9L)"

Generate CSR

  1. open -a 'Keychain Access.app'
    • Under Keychains, Select login
    • Under Category, Select My Certificates
    • Select Keychain Access > Certificate Assistant > Request a Certificate From a Certificate Authority... Request a Certificate From a Certificate Authority...
    • In the textbox labled User Email Address, Enter wil.moore@wilmoore.com
    • In the textbox labled Common Name, Enter Wil Moore III
    • Select, Saved to disk
    • Click Continue
    • Save As ios_distribution.csr ios_distribution.csr

Create a New Certificate (requires CSR)

  1. Create a New Certificate
    • Select iOS Distribution (App Store and Ad Hoc)
    • Click Continue
  2. Upload a Certificate Signing Request
    • Click Choose File
    • Select ios_distribution.csr
    • Click Continue
  3. Download Your Certificate
    • Click Download
    • Save as ... ios_distribution.cer
  4. Import Your Certificate
    • > security add-certificates ios_distribution.cer
  5. Convert your Certificate to password protected .p12 file
    • open -a 'Keychain Access.app'
    • Under Keychains, Select login
    • Under Category, Select My Certificates
    • Locate the certificate iPhone Distribution: Happii LLC (RPA85XDG9L) iPhone Distribution: Happii LLC (RPA85XDG9L)
    • Click the arrow to expand and show both the certificate and private key.
    • Select both the certificate and private key.
    • Select Export 2 items... Export 2 items...
    • Save As as ios_distribution.p12 ios_distribution.p12
    • When prompted, enter an export password to protect the exported certificate password

Register a New Provisioning Profile

  1. Register a New Provisioning Profile
    • Under the Distribution heading, Select App Store
    • Click Continue
  2. Generate a Provisioning Profile
    • Under App ID:, Select TipOff (RPA85XDG9L.com.HappiiClub.TipOff)
    • Click Continue
  3. Select Certificates
    • Select Happii LLC (iOS Distribution) Apr 07, 2021
    • Click Continue
  4. Review, Name and Generate.
    • In the text box labeled, Provision Profile Name, Enter ios_distribution
    • Click Generate
    • Click Download
    • Save as ... ios_distribution.mobileprovision

Turtle Build

environment
export CERTIFICATE_ROOT='/Volumes/GoogleDrive/My Drive/company/tipoff/codesign'

export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8

export RELEASE_CHANNEL=production
export EXPO_USERNAME=wm3
export EXPO_PASSWORD="*****"
export EXPO_APPLE_TEAM_ID=RPA85XDG9L
export EXPO_IOS_DIST_P12_PASSWORD="*****"

export IOS_SDK_VERSION=37.0.0
turtle build command
@turtle build:ios \
  --release-channel production \
  --team-id "$$EXPO_APPLE_TEAM_ID" \
  --provisioning-profile-path "$$CERTIFICATE_ROOT/ios_distribution.mobileprovision" \
  --dist-p12-path "$$CERTIFICATE_ROOT/ios_distribution.p12" \
  --output ios_distribution.ipa
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment