Skip to main content
Version: v8

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:

ionic cap add ios

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

ionic build --prod

This will generate the minified code for the web portion of an app.

For this first build, and after you make any binary changes like adding a plugin, use the sync command:

npx cap sync ios

This will also copy the minified web code over. However, if your build is only source change then you can just copy the minified web files using:

npx cap copy ios

From here, the project is now managed as if it was a native Xcode app (because it is).

Open the project in ./ios/ to start Xcode:

npx cap open ios

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 an 'Upload' button to click.

If the upload is successful the app should be listed under 'Activities' on iTunes Connect or listed under 'Apps' on App Store Connect. From there, the app can be published to TestFlight, or it can be sent to Apple for approval for the App Store.

Updating an app

As an app grows, it will need to be updated with new features and fixes. An app can be updated by either submitting a new version to Apple, or by using a live update service like Appflow's live update feature.

With Live Updates, app changes can be pushed in realtime directly to users from the Appflow dashboard, without waiting for App Store approvals.

note

In order for the iOS App Store to accept the updated build, the config.xml file will need to be edited to increment the version value, then rebuild the app for release following the same instructions above.