• Dear Lazyweb,

    I finally got registered for the iPhone app developer program. I created a certificate for “iPhone Developer: Jake Sprouse”, uploaded it to Apple, approved it, and downloaded it into my Keychain. I registered the Device ID of my iPhone on the Apple website. I created an App ID for all jakesprouse.net applications (it’s of the form NNNNNNNNNN.net.jakesprouse.*). And I created a provisioning profile with the certificate, Device ID, and App ID.

    In my XCode project, I changed the “Code Signing Identity” field to “iPhone Developer: Jake Sprouse” under my provisioning profile in the drop-down. And I changed the “Bundle identifier” field of my Info.plist to NNNNNNNNNN.net.jakesprouse.${PRODUCT_NAME:identifier}.

    Now, when I build it, I get the error message: /Users/jakes/src/MyApp/build/Debug-iphoneos/MyApp.app: object file format invalid or unsuitable.

    If I build a second time, it works, but when it goes to install the app, the Organizer window tells me “The Info.plist for application at /Users/jakes/src/Sac4iPhone/build/Debug-iphoneos/Sac4iPhone.app specifies a CFBundleExecutable of (null), which does not exist“.

    If I build a third time, I get the object file format error again (and so on…).

    Searching Google on codesign + "object file format" is not being very helpful. Anyone out there have any ideas?

    Posted by jake on December 22, 2008 at 5:44 pm in Code.

    5 Comments

5 Responses

WP_Blue_Mist
  • jake Says:

    With help from @mdhughes, I was able to get my app running.

    * Info.plist was being included in the main target. Apparently this was causing the “object file format” error.
    * Using “net.jakesprouse.${PRODUCT_NAME:identifier}” instead of “NNNNNNNNNN.net.jakesprouse.${PRODUCT_NAME:identifier}” cleared up the CFBundleExecutable issue.
    * Cleaning and rebuilding early and often seems to be a good idea.

  • FuzzYspo0N Says:

    Thanks for pointing out it was the plist thing, took forever to find someone with a clue :P

    Thanks for the post.

  • Genius Dude Says:

    Restart x-code, that fixed it for me….

  • Phoneboy Says:

    Indeed remove the Info.plist from copy resources, clean all, and restart XCode

  • Bendoh Says:

    Problem for me was twofold in Xcode 4:

    1) The .plist file was being included in the application bundle. Fixed this by removing it from the “Copy Bundle Resources” list under “Build Phases” of the Target.

    2) I had changed “Executable file” to something other than $(EXECUTABLE_NAME), which Xcode just doesn’t approve of. Why even let us change that if it’s going to break code signing?

    Hope that helps someone else who’s wasting hours trying to figure this stuff out.

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.