Ad Hoc Distribution of iPhone Apps

Posted on 2010-03-11 by Jan Vantomme
Tags: software development

So I finally got a version of my iPhone application ready for testing. It runs fine on my iPhone 3G and iPod Touch. I wanted to test it on some other devices so I asked some people I know to do this for me. I read through the article Publishing Applications for Testing and I noticed that some little details are missing to get your app installed on other devices.

Adding the iTunes Artwork

You need a 512 x 512 PNG file named iTunesArtwork without the .png extension. I removed the extension in the Finder before I added it to the resources of my XCode project. I've built the app and added it to iTunes and the artwork didn't show up. I noticed that XCode adds the extension to filename in the project. I renamed iTunesArtwork.png to iTunesArtwork in my project and everything worked.

Screenshot of the iTunesArtwork file in the Resources folder

Code Signing Errors

After sending out the applications to my testers, none of them could install the app on their device. I forgot to set the Code Signing Identity to iPhone Distribution. This wasn't mentioned in the documentation.

Screenshot of the Code Signing Identity set to iPhone Distribution

Entitlements Errors

Another thing I had a problem with was Entitlements. To distribute your application to testers you need to add an Entitlements.plist file to the Resources folder. When you add the file it has one entry with the name get-task-allow and a checkbox that is checked. This checkbox needs to be unchecked for your application to run on other devices. Doesn't make much sense to me to add the file but that's the way it is...

Screenshot of the contents of Entitlements.plist

Final thing I needed to do was adding Entitlements.plist to the Code Signing info.

Screenshot of the Code Signing Entitlements Entry

So these are the main problems I had with Ad Hoc Distribution. An article that was very useful to me was How To Fix Code Signing Errors by Dr. Touch.

Tweet this article