The purpose of this document to explain the various steps, accounts, etc., involved in building "beta" apps and distribution ready apps. This information is only relevant to Willamette University's iPhone Development team though the Apple provisioning process section may be some use in general.
Currently, we have three separate accounts which may be the source of some confusion. See Steve Rhine for
- TestFlight Account
- University Apple Developer Account
- Steve Rhine Apple Developer Account
The Test Flight account is for beta app distribution only. It has a team of developers and testers. The developers are able to upload apps while the testers are only able to download the applications. You are the developers and each should be able to login to Test Flight and upload your apps for testing.
This account is completely free for the university since it's for education purposes only and we can have up to 200 developers on this account. Sadly, that means you can't actually post apps to the iTunes App store. For that we need a paid account ($99).
Enter Prof Rhine's private developer account. This is a "single developer" account which means you can only have one developer on the account. However, we can actually post apps to the store from this account as it's paid.
Apple's provisioning system is a bit confusing but necessary to ensure only approved code is running on their devices. We'll walk through each of the main components to familiarize you with the process.
The public/private keypair (we'll call it PPK) is the first and most important element. PPK come from what's called asymmetric encryption and is used heavily in technologies like SSL (used for secure communication over the internet. Without going into too much detail, the PPK uniquely identifies you as a developer. If someone gains access to your PPK they effectively gain access to your entire developer identity so NEVER share your PPK. The PPK are generated via the built-in "Keychain" application (in utilities folder) when you request a certificate.
Certificates are the next building block. They tie together your public key along with other personal information such as email, name, etc. You can have multiple certificates such as one for development, distribution, etc.