First, the good news: Oh! Gnomes! has been submitted to iTunes Connect for approval.
The bad news: it took a week to get it to that point, and will probably find out if we’ve been approved or not early next week. Hopefully we’ll be approved this first time because I don’t want to have to jump through all of those hoops again.
It all started when Xcode version 3.x we were running, and a old version of iOS on the iPod we were using to test were not compatible. To be able to push a build to the device to test, I had to update the iPod to the latest version of iOS (v 4.3.2). That updated it too far ahead of the version of Xcode we were running and we still couldn’t push a test build to the device. So, we updated Xcode to version 4.0.2, but our project didn’t update correctly. We had to go through all the pain of resetting up our project again, with the added difficulty of a completely new and unfamiliar Xcode interface. We got the build onto the device, tested it out and found that everything was running smoothly. Hooray! Now we can submit to Apple! The hard part is over! Right? . . . WRONG!!
Apple provides documentation with the steps needed to build a distribution build, unfortunately they have not been updated to reflect the major changes they made to the user interface for the latest version of Xcode. First, we had to generate a new Certificate Signing Request so we could create and download a new iOS Distribution Certificate. Next, we had to create and download a new iOS Distribution Provisioning Profile. Now we can make a build, right? Well, almost. We still needed to set up Xcode to do the distribution build, and that’s where things got a lot more difficult. Turns out, you also need an App ID, so we had to go back and set that up and do a new Unity build to incorporate it. The directions didn’t match the current interface, we couldn’t find anything making it almost impossible to set up to build for distribution. After asking the all mighty Google, we got it all set up and built.
YAY! Almost done! We logged into iTunes Connect, filled out all the tax and banking info, the app info, uploaded screen shots for iPhone/iPod and iPad, set the price. All done, now lets upload! Er… where/how do you upload your app? Re-read all the instructions, nothing. Look over the app info page looking for an upload button, nothing. Back to the all mighty Google. Turns out we needed to download the App Loader program so we could upload our app. Of course you need a special program to upload your app to iTunes Connect for approval. It’s so obvious. Why didn’t we think of that?
After much pulling of hair, gnashing of teeth, and most of a Saturday, we finished the submission process. Now, our app is in limbo, waiting for approval. Hopefully we’ll hear back in a few days.
In the mean time, here are a couple of teasers.
UPDATE: Because of a new issue with Unity for iOS and the latest iOS SDK 4.3, we may be automatically bounced. Lets hope that doesn’t happen.
Dear Unity iOS Developers,
Unfortunately, many (and probably all) Unity iOS applications built with iOS SDK 4.3 are crashing during the App Store Review process while still running successfully on developer's devices. We have contacted Apple regarding this issue and received confirmation that this is of highest priority to them. Our iOS team is working on a solution as well, but due to complex nature of the problem it will take longer than expected to properly resolve. A currently known workaround is to keep using iOS SDK 4.2.
Many users reported that applications built with Xcode 3.2.5 + iOS SDK 4.2 successfully pass the Apple App Store review process currently. OS SDK 4.2 is not publicly available on the iOS Developer site anymore, but it still can be downloaded via direct link. We want to assure you that building final applications with iOS SDK 4.2 provides all the features the Unity iOS run-time supports and is proven to work fine with devices running older generation iOS (3.x-4.2.x) as well as the newer devices running iOS 4.3.x (like iPad 2).
Please feel free to contact us if you have issues releasing your application to the App Store.
The Unity Team