iPhone development us usually very enjoyable using the Apple’s excellent development tools. However, Apple’s user experience experts must have been on vacation when they designed the iPhone code signing process. Particularly the error messages seem to be designed to confuse rather than help.
This happened on a project where we have multiple iPhone developers both at our company and at the client working in parallel. One day out of the blue we were greeted with the dreaded “unexpected error (0xE800003A)” when deploying to our development devices. Since it’s been about a year since the iPhone development program started, the first thought was that a certificate had expired.
A a wild goose chase ensued following Craig Hockenberry’s sage advice regarding expired certificates, with several variations and extensions, and other fascinating dead-ends. Still same unhelpful error message.
Finally we discovered that one developer had created an AdHoc configuration and in that process created the Entitlements.plist file. That is all well and good. But he had added Entitlements.plist to both the AdHoc and the Debug configuration. Not so good.
After removing that one line in the build settings, normality was restored.
Hopefully this will save someone else a few hours and some sanity.
Other good code signing resources:
April 25th, 2009 at 06:06
My fix is to reboot my iPod touch by pressing both hard buttons and then restarting it. I always get this message after a few days not having deployed an app on the device itself, don’t know why.
But rebooting the iPod works. I never had to edit any file.
May 6th, 2009 at 01:00
Thanks Nick but I tried it but still didn’t work. I rebooted also my iPod still the same, still getting the same error. 🙁
May 29th, 2009 at 02:33
Thank You – I had never had this problem before but after making a copy of my project (for a new version) I started seeing this – I had mistakenly put the Entitlements.plist in my debug and release build project settings – this fixed me right up!
June 1st, 2009 at 10:08
I had a certificate that had not expired (at least it said it wouldn’t expire till a month later) and I got this message. Plus on top of that I got an error message that my iPod wasn’t connected to my MAC (although I could read crash logs from it so it was clearly connected). Having recently updated my iPod Touch OS, I thought maybe that was it, so I undid the upgrade. That fixed the issue of it saying it wasn’t connected. Then I tried reloading the same old certificate on the iPod since it wasn’t expired. Didn’t work. Had to make a new one.