Recently I’ve been put on 2 different iPhone development projects and on both projects, I’m responsible for doing the builds. Any developer that has dealt with the provisioning portal knows how confusing and how much of a pain it is to use. It looks to me like there is a bit of confusion over the portal, so here are some tips.
- There are 2 types of distribution mechanisms; one is through the AppStore and one is AdHoc distribution. So, they need to be differentiated in the project and on the portal to make it clear.
- In your project, I recommend creating 3 configurations; Debug, AdHoc, and AppStore. This makes it clear what you’re doing.
- Only the Team Agent (the person that signed up for the developer account) can create the distribution mobile provisioning files (AppStore or AdHoc). So if you as the developer didn’t set up the account, you either need to get the credentials of the person that signed up or bother that person when you need to add/remove devices for the AdHoc build.
- Name your provisioning profiles in the portal with AdHoc and AppStore (respectively) so you can easily select the right profile in Xcode. Naming one Distribution is not very helpful.
- Bundle the AdHoc mobile provisioning file with every build sent to testers; the file is small and then no one has to ask you for the file later.
- Save yourself some headaches and check the mobile provisioning files into source control.
- Export the private key and certificate used to create the distribution profiles as a .p12 file and check that into source control. Depending on how paranoid you are, you might also check in a file with the password for the .p12 file. The next developer that takes over your project will thank you for not making them jump through hoops.
While some of this may be obvious and I’m sure some people won’t agree with what I say, I think that these tips really make it easier to manage iPhone development.
Name your provisioning profiles in the portal with AdHoc and AppStore (respectively) so you can easily select the right profile in Xcode.
While you could do that, it is kind of a waste of time. Apple allows you to submit apps using the AdHoc provisioning profile and they are resigned. The advantage of this over the AppStore profile is that your QA can test exactly what you submit to the app store. Apple should remove the AppStore choice in my opinion as it is no longer necessary.