Tuesday, February 17, 2009

Late CodeSigning

Just for fun, I decided last night after 9:30PM to install the latest WIP of our iPhone app on my wife's 2G iPod touch. In order to that, I first tried to modify the provisioning profile so to include the new device in it, but that didn't work too well. Even after having removed completely (or so I though) the said profile from her device and mine (and from the IDE's organizer) and created a new one (following the how-to instructions from the SDK developer portal), I could still not recompile the application. The error reported (in red, mind you) by Xcode being:

CodeSign error: a valid provisioning profile is required for product type 'Application' in SDK 'Device - iPhone OS 2.2'

By then, since it was well after 10pm, way past the baby bed time (and ours ...) , I had to close shop for the night. Problem is that closing the lid of the laptop doesn't mean one's mind isn't going to keep thinking about the problem ... well into the wee hours of the night. Hopefully, when I woke-up this morning (I'm gonna need a nap this afternoon!), I had an idea: Maybe, somewhere inside the project files, references to the old profile were still present? This turned out to be a correct theory (!), for when I grep-ed the project.pbxproj file for PROVISIONING_PROFILE, I found some references to the old profile. A simple copy&paste (BTW I use Smultron for such text editing tasks) of the profile identifier fixed the issue and shortly after, Susan's iPod was running our app :-)

No comments: