Build iOS Application from a React Native and push to App Store

Omar RashadOmar Rashad
2 min read

This is a working draft.

  1. Make sure that you have the last changes from the remote branch.

  2. From the project root run the following in the terminal:

    1. yarn

    2. npx react-native bundle --entry-file='index.ts' --bundle-output='./ios/Abqarino/main.jsbundle' --dev=false --platform='ios' --assets-dest='./ios'

    3. cd ios && npx pod install && cd ..

  3. Using Xcode open the *.xcworkspace generated file

  4. Make sure to sign in with the apple developer account, and that you have the Push Notifications Capability enabled, if not add it using the button + Capability

  5. In Xcode select your project from the TARGETS left side menu then navigate to Build Phases tab in the right section.

  6. Make sure that Copy Bundle Resources' attributes have all the necessary resources for the bundle to work, if not add them using the + button.

    Before:

    After:

  7. Navigate to the Images folder and set the AppIcons by clicking on each icon frame and select the respective size,

    Before:

    After:

    Now you can start a Build process based on the release settings you have set, or you could start a Archive process to push to App Store for TestFlight or an Apple Review.

    To start Archive process:

    1. Select Any iOS Device from the Devices menu

    2. From the Product menu click on Archive

    3. When the build finishes, select the last archive and click on Distribute App and follow the flow.

To start a Release build:

  1. Navigate to Edit Scheme

  2. Make sure that the Run action has a build configuration with Release value

  3. Select an iOS simulator, then hit the Play button

0
Subscribe to my newsletter

Read articles from Omar Rashad directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Omar Rashad
Omar Rashad

I'm a Full-Stack Developer and I currently work at SwiftX as a Software Engineer. I develop and maintain web applications using Ruby on Rails framework. I work closely with the team to understand project requirements and develop technical solutions to achieve project goals. I am responsible for writing high-quality, maintainable, and scalable code that adheres to industry standards and best practices.