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 cordova platform add ios
With the platform added, run the build command with the --prod
flag:
ionic 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.
You can also have a release build generated automatically by using the --release
flag.
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.