Skip to main content

iOS App Store Deployment

Requirements

Submitting an App to the iOS App store requires a few things:

  • Xcode
  • A Paid Apple Developers account
  • A valid provisioning profile
  • App Development and Distribution certificates

To enroll in the Apple Developer Program, follow the instructions listed here.

Generating a release build

If the iOS platform is not already added, be sure to add it:

navify cordova platform add ios

With the platform added, run the build command with the --prod flag:

navify cordova build ios --prod

This will generate the minified code for the web portion of an app and copy it over the iOS code base.

From here, open the .xcworkspace file in ./platforms/ios/ to start Xcode.

Generating Signing Certs

Generating certificates for iOS is a bit of an involved process, so be sure to check Apple's official documentation on what certificates are and how to generate them.

To create the certificates and profiles needed, visit Apple's member center and follow the links described in Apple's documentation.

There are two types of certificates that matter here, Development, and Distribution. Development Certificates are just that, meant for development time. They are meant to sign an app and deploy it to devices that the certificate has access to.

Distribution certs are meant for distributing an app to the store. When an app is signed with a Distribution cert, it can be installed on any device.

Signing the App in Xcode.

After generating the correct certificates, there are options to either have Xcode automatically manage certificates or manually manage them. It's suggested to let Xcode automatically manage certificates. This will make sure that the correct Development and Distribution certs are used, based on the build type selected.

With this option selected, select Archive from the Product > Archive menu. This will build a version of the app that is ready for distribution in the app stores. After archive has been created, Xcode Organizer is opened.

Xcode Organizer displays a list with builds of the current app. Pick the last build and click 'Upload to App Store'. There should be a place to select the team followed by some more information on the app and a "Upload" button to click.

If the upload successfully, the app should be listed on iTunes Connect and listed in 'Activities'. From there, TestFlight can be enabled for beta testing, or the App can be sent for approval from Apple.