React Native on the App Store: Project Running and Review Build Process

This article explains a complete and executable process for publishing a React Native project to the App Store, covering iOS project configuration, certificate and provisioning profile preparation, IPA building and uploading, along with troubleshooting methods for common issues.

Many React Native projects work fine during development but get stuck when it’s time to publish. For example, Xcode can run the project, but Archive fails; an IPA can be generated, but after uploading, there’s no build, and TestFlight never shows a version.

These issues are not actually React Native problems, but rather a misunderstanding of the iOS release process.


First, Confirm the Project Has iOS Build Capabilities

First, run locally:

npx react-native run-ios

If it runs successfully, proceed to the next step.


Check the ios Directory

In a React Native project:

  • The /ios directory is the complete iOS project
  • The actual packaging is done by Xcode

Enter the directory:

cd ios
pod install

Complete Necessary Configuration in Xcode

Open:

open ios/YourProject.xcworkspace

Configure Bundle ID

Path:

  • Targets → General → Bundle Identifier

Ensure:

  • It matches the one in App Store Connect

Configure Version Numbers

Version (CFBundleShortVersionString)
Build (CFBundleVersion)

Each upload:

  • Build must be incremented

Signing Preparation: React Native Doesn’t Do This Automatically

Most RN project build failures are caused by signing issues.

You need to prepare:

  • Distribution certificate
  • App Store provisioning profile

Use AppUploader to Generate Signing Files

Using AppUploader (Happy Publishing) can directly generate:


Create a Certificate

  1. Open the certificate management
  2. Click Add New
  3. Select Distribution
  4. Set a name
  5. Set a P12 password
  6. Download the .p12

Create Certificate


Create a Provisioning Profile

  1. Enter Profile management
  2. Create a new App Store type
  3. Select Bundle ID
  4. Bind the certificate
  5. Download the .mobileprovision

Create Provisioning Profile


Import into Xcode

  • Double-click .p12 to import into Keychain
  • Double-click .mobileprovision to install

Archive to Build IPA

In Xcode:

  1. Select the device as Any iOS Device
  2. Click Product → Archive

After building:

  • Open Organizer
  • Select the newly generated Archive

Export IPA

Choose:

Distribute App → App Store Connect → Export

Export the .ipa file.


Upload IPA (Can be done without Xcode)

Once IPA is generated, uploading can be done without macOS.

You Can Use AppUploader to Upload

Steps:

  1. Open the Submit Upload page
  2. Enter Apple ID
  3. Set an app-specific password
  4. Select the IPA file
  5. Select the upload channel (1 or 2)
  6. Click Upload

Upload


Verify After Upload

Go to:

App Store Connect → TestFlight

Wait for Processing to complete.

asc


A Common Issue: Upload Success but No Build

This is relatively common in RN projects.

Check the Build number – is it incremented?

Check the Bundle ID – does it match the one in App Store Connect?

Check the signing type – is an App Store provisioning profile used?

Check the provisioning profile – is it bound to the correct certificate?


React Native Specific Pitfall

If you use third-party libraries (e.g., push notifications, login), note:

Are Capabilities Enabled?

In Xcode:

  • Signing & Capabilities
  • Enable the corresponding capabilities (Push, Associated Domains, etc.)

Ensure They Match the App ID

In Apple Developer:

  • Enable the same capabilities

Otherwise:

  • Build may pass
  • Review or runtime may fail

Publishing a React Native project to the App Store is essentially following the iOS native release process.