” error (0xE800003A) – Application Verification Failed “
Solution 1# 1. In the Xcode Menu, Go to Build > Clean All targets . Accept all connfirmations that follow.
Rebuild and install you should be in business
We finally solved the problem by setting him up completely new and while so doing I again noticed that some of the instructions Apple is providing are confusing if not imprecise. Therefore I finally decided to finish the post up and highlight some of the subtleties of the process. Hope it helps!
Here is a brief overview of the environment we are working in:
- We are approved and paying members of the iPhone Developer Program.
- We are using iMacs with Mac OS X 10.5.4, Xcode 3.1 and the final version of iPhone SDK 2.0 (build 9M2199a).
- Our iPhones are running the pwned Apple firmware 2.0.1 with Jailbreak and Unlock applied. We’veused Pwnage tool 2.0.2 to do the magic.
- We are not using any methods to circumvent Apple’s code signing practices and generally do not endorse those.
The Developer Program Portal
Apple’s Guide to setting everything up and some additional remarks
Apple has published a pretty comprehensive guide how to do the basic set up. You need to be an approved iPhone developer to access this download. Here are some tips which helped us getting things right:
- Make sure your App IDs are set up correctly.
App IDs are an important piece of the overall iPhone developer infrastructure and one, where I found many people struggling with subtle details. Unfortunately neither the Developer Program Portal’s How to section nor Apple’s guide are extremely clear on what needs to be done to get things going.
An App ID is a unique digital fingerprint that OS X iPhone uses to grant your application access to a portion of the Keychain and is one part of your development provisioning profile. In the App IDs section of the Developer Program Portal create an App ID if you have not yet done so. You can give your App ID an arbitrary Name. The name is used for reference purposes only.
The ID itself must be unique. Therefore most de
velopers use a reversed version of their domain name (or their companies domain name) as it is pretty common for namespaces. In case you would like to use a single App ID for all of your applications, you have to add a trailing asterisk. With that said I’m using the following ID:
Important: Apple generates a Bundle Seed ID for every App ID you create and appends it to your App ID as a prefix, however, the Bundle Seed ID must not be considered as a part of your App ID. So whenever you’re prompted for your App ID anywhere in Xcode or elsewhere, you must only use your App ID without the Bundle Seed ID. To make this very clear: In my case in the ID column of the Portal it says C5LRL9WHCV.net.24100.*. The “C5LRL9WHCV” part is the Apple generated Bundle Seed IDand only the net.24100.* part is my App ID!
- Use the Developer Program Portal’s Devices section to set up your development device. Make sure to use the correct Device ID by copying it from Xcodes Window > Organizer.
Fixing settings in Xcode
You’ve got to go through the previously outlined one-time process in order to start deploying and debugging applications to your iPhone. There are also some additional important details which – if you’re not doing it right – can cause wired errors once you deploy.
You might see error messages like the one we’ve encountered:
“Your mobile device has encountered an unexpected error (0xE8000001) during the install phase: PreflightingApplication”
Chances are you also occasionally see application verification failed errors with the same or similar hexadecimal error codes. In almost all cases related to this error the problem has been a wrongly configured Bundle Identifier in Xcode’s project settings.
Even though Apple explicitly states somewhere on their web site that you don’t need to set the Bundle Identifier manually anymore, we never got deployment working without having it set correctly manually. So before you move on check your project settings:
- In Xcodes project organizer expand the Resources section.
- Find the Info.plist file and double-click to open it.