Preconditions for Test & Submit of an iOS App
Purple Apps
Various assets are required for submitting or updating an iOS app. In this article, we briefly describe the files and accounts necessary to submit your Purple App to the App Store from Apple.
Apple Developer Program Membership To start developing iOS apps, you need to enrol in the Apple Developer Program. This program provides the tools, resources, and documentation to create and distribute apps on Apple's platforms. It also grants you access to iOS and other Apple software beta versions.
Apple Developer Account Once you have enrolled in the Apple Developer Program (see paragraph above), you will have an Apple Developer Account. This account is used to manage your development team, certificates, Provisioning profiles, and app submissions.
App Store Connect account/Developer Role App Store Connect is Apple's platform for managing app submissions and updates. Within App Store Connect, you need to have the appropriate developer role assigned to your Apple Developer Account. The available roles include Admin, App Manager, and Developer. These roles determine the level of access and permissions you have for managing app submissions, testing, and updates.
iOS Distribution Certificate (P12) To distribute your Purple App on the App Store, you need an iOS Distribution Certificate (P12). This certificate is used to digitally sign your app, verifying that it comes from a trusted source and ensuring its integrity, in other ways your passport or ID card. The iOS Distribution Certificate is associated with your Apple Developer Account. Provisioning Profiles Provisioning profiles are necessary for running and distributing your app on physical devices. They specify the devices or device groups that are allowed to install and run your app during development, testing, and distribution.
There are two types of Provisioning profiles important for your app:
- Ad Hoc Profile An Ad Hoc Provisioning profile allows you to distribute your app to a specific group of testers for testing purposes outside of the App Store. It allows the app to be installed on designated devices without needing to go through the App Store review process.
- App Store Profile The App Store Provisioning profile is used when you are ready to submit your app to the App Store for public distribution. It enables the app to be signed and submitted for review. This profile is associated with your iOS Distribution Certificate (P12).
Push notification keyfile If your app requires push notifications, you will need to set up a Push notification keyfile (P8) which never expires. These files allow your app to communicate with Apple's Push Notification service (APNs). It is used to securely send and receive push notifications to and from the devices running your app. To obtain these certificates, you will typically generate Certificate Signing Requests (CSR) from your Mac's Keychain Access application, upload them to your Apple Developer Account, and then download the resulting certificates. It's important to note that the certificate management process and requirements may change over time as Apple updates its developer tools and program guidelines. Always refer to Apple's official documentation and resources for the most up-to-date information on iOS app development and certificate management.