Sunday, June 12, 2011

[iOS5] Caution!

I had Xcode 4.0.2 installed in /Developer and Xcode 4.2 (beta) installed in /Beta. I could work and run both just fine.

I had to submit an update to an existing app (WARP gce was approved!). When I built to test the app on my device Xcode 4.0.2 gave me a signing error, something about the code_wrapper. So I tried just re-installing Xcode 4.0.2 and the error was fixed (most likely because Xcode 4.0.2 wrote-over whatever tools the beta installed). I did not try and run the beta, as I was still focused on getting the update submitted. So, archived and then submitted to the store and Xcode reported a confirmation but a few minutes later the App Store rejected the binary. Here is the verbiage:
Invalid Signature - Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate. Verify that the code signing settings in Xcode are correct at the target level (which override any values at the project level). Additionally, make sure the bundle you are uploading was built using a Release target in Xcode, not a Simulator target. If you are certain your code signing settings are correct, choose "Clean All" in Xcode, delete the "build" directory in the Finder, and rebuild your release target.

In addition if you thought you'd like to try and check out iCloud and updated your profiles, you cannot submit to the store. Remove the enable for iCloud setting and update your profiles to fix. Here is the error I got back for that error:
Invalid Code Signing Entitlements - Your application bundle's signature contains ubiquity code signing entitlements that are not supported.
Specifically, value "( xxxxxxxxxx.* )" for key "" in is not supported.

So in summary: you can run both copies of Xcode on your Mac but if you need to submit to the store you may need to remove the beta and reinstall 4.0.2.

If I find anything more about this I will update this post. There are a few discussions on the Dev forums I'm watching and participating in.


  1. Hi, did you mean that if I have iCloud installed in my iPad running iOS 5.0, I wouldn't be able to submit any apps to the store, even though I just build that app with another iPad running iOS 4.2?

    I've also experienced a bug where I couldn't provision any new device, I suspect it might be due to iCloud (after reading this post), but maybe I'm wrong?

  2. I don't think iCloud is a problem. I think it's related to the "system tools" each Xcode version wants to install.

    I have both versions on my MacBook Pro but only the production version (4.0.2) on my iMac. I have built and submitted to the store several times on my iMac after I deleted the beta and had no problems.

  3. Alright then that's a relieve. Thanks for that, I'm sure I can find the cause somewhere :)