Today I walked to through the process of getting my iOS device connected to my computer and running my app. To do that, I had to…
- Obtain a developer certificate
- Assign the device to my team
- Obtain my app ID
- and create a provisioning profile
While I understand the process and was able to successfully get my device connected, I don’t at all understand the point of all this. Can anyone explain the point of each step in that process and why Apple has us do this?
Thanks so much in advance for your help! It’s important to me to understand this stuff at least at a high level.
As a rough explanation.. the device only runs signed apps. Your developer certificate (along with your private key) signs your app so it can run on your device. (or other development devices of your nomination)
If you beta test, your Ad Hoc certificate + provisioning profile will allow all devices with their UDID in the profile to run that app. The beta testers don’t need your developer certificate, just their device UDID embedded in the profile.
When you distribute to the app store, you use a Distribution profile (along with the team agent key), and that needs additional signing (co-signing?) from Apple before that code can run on the device. Because Apple signed it, the device doesn’t care what UDIDs are allowed.