Bloody hell I’ve just spend more than two hours trying to figure out why Xcode won’t publish to my iPhone.
Tried everything - started with our checklist published earlier then lots of ritual dancing and read two big manuals by other guys:
http://www.24100.net/2009/02/iphone-sdk-mobile-provisioning-0xe800003a-0xe8000001/
http://www.codza.com/how-to-fix-iphone-code-signing-errors
Finally - being 100% sure everything is set up properly - used the idea of “Clean all” from the last link - and it worked! Nothing has been changed, I just quit the Xcode and removed everything from “Build” folder of my app! Then started it again, hit “Build” button and it worked!
Apple is evil. Thousands of developers spend hours losing time with all code signing thing. These lines from codza is one good example:
I was on a roll, all done in 30 minutes. A quick look at the clock: 11:30pm. I’ll quickly package it all up, submit my update, and pick out a dark comedy on Netflix instant watch…
Little did I know that for the next two hours I will be beaten, cubed and ground into hamburger meat by Apple engineering’s probably most ingenious attempt to one up Turing’s theory of the “halting problem”: code signing.
UPD: while our checklist managed to help some people, I’ve found the most explicit manual on this issue written by Ralf Rottman so posting a link to it here so that you may check it too (it’s much longer than our checklist but it covers the topic 100%):
http://www.24100.net/2009/02/iphone-sdk-mobile-provisioning-0xe800003a-0xe8000001/
And this is another good and fun guide, thanks to this guy I stopped to bother about Provisional profile not showing up in my Targets settings list - apparently they have removed it in 2.2.1 !!
http://www.codza.com/how-to-fix-iphone-code-signing-errors
I’ve written this for one of our clients and the client managed to load the app onto his iPhone device successfuly. This being after studying the official Apple guides etc. So I’ve decided to publish our unofficial checklist here as this might be useful for others as well.
Sometimes people experience problems when publishing from their Xcode directly to their iPhone, or this issue might also arise when, as frequently in our case, developers are using one set of certificates and client, testing the app, uses their own certificate.
So, what you should have done to
check you did everything right to publish from your Xcode to your iPhone
in your apple developer web interface -
1. Added App ID
2. Added Device
3. Created certificates (1 private, 1 public, downloaded and added them to your keychain)
4. In Provisioning – added Profile
(specified your app id and device)
5. Downloaded the profile created.
In your Xcode
6. Added profile to the Organizer
7. In the project, go to Other resources / Resources and edit Info.plist – look for key “CFBundle Identifier”
replace its value with “YOUR ID”.* where “YOUR ID” taken from your apple web IDs – so if we have XXXXXXXX.com.injoit.appname, then we take XXXXXXXX and we make it:
before:
com.yourcompany.${PRODUCT_NAME:identifier}
after:
XXXXXXXX.*
In case getting any errors when publishing from XCode to iPhone, try disconnecting iPhone, relaunching both your iPhone and Xcode and trying again.
The whole procedure is described here:
http://developer.apple.com/iphone/manage/distribution/index.action
(Building your Application with Xcode for Distribution). Some steps in the guide (like setting Target) seem unnecessary and we can just publish w/o problems, just check you’ve done everything correctly in the web interface at Apple website, added your profile to the Organizer and also edit the .plist file.
Hope this helps.
Taras Filatov, CEO to Injoit.com.
Thanks to Vladimir who helped to write this checklist.
It has passed quite some time since Injoit has purchased its first real Mac which was Mac Mini. I’ve just got time to post some things and would like to post a photo of this cute thing as well.
This thing rocks as everything done by Apple. Most Mac Minis end up as music centres somewhere in the campus rooms under books and crisps packs while ours serves as a powerful development tool and a number of serious iPhone applications has already been developed with its help.

Injoit's first Mac (Mini)
At photo you may see standard monitor, keyboard and mouse connected to our Mac Mini and Xcode with iPhone simulator running at the display.
Injoit company keeps pace with the newest trends and has made a significant step in extending its range of services with an offer of custom iPhone applications development.
In few months the talented coders of Injoit team have mastered the iPhone SDK including relevant technologies of Xcode, Cocoa Touch, Object C at a high professional level. New project flow processes
including Project Management and Quality Assurance have been standardized in order to serve best the
flawless development of great iPhone applications.
Click “More” to check our photos and read more about the event.
