Apple hates developers

Creating, testing and submitting apps to the iTunes store is one of the most frustrating tasks that I’ve ever had to do; and it didn’t use to be that way.

Now before you jump down my throat and tell me how stupid and uninformed I am, let me preface this by saying I’m not an avid Apple user.  I am a programmer, mostly set in my ways, and like things to easy and straight forward.  I’m also using Unity to program the app that I’m making.  If you have any insight on what I could be doing better, I’d love to hear it.

So let me get to the gripes:

1. Long build times from development change to local testing

So after programming this game in Unity and mostly testing it in an Android environment, I wanted to make the move to release it for iOS.  I transfer all of my code to the Mac, changed the environment to iOS, and hit build.  From there I have to switch to XCode in order to test the app on my iPad, which requires another build.  If I notice something is wrong, I have to go back into Unity, make the change, build it, back into XCode, build it again and then test it.

2. No beta test capabilities for the common person

After fixing all of the issues that I could, I wanted to send the app to a few testers and get some initial feedback.  Last time I helped out with an app this was an easy process: invite a person to the test, add them to your list of approved testers, send them the app.  Now, the device ID is completely locked down so the person who you want to have test needs to know how to get to it, and requires iTunes to be installed on their system.  Also, this step requires an additional build to create the .ipa file that you distribute.

3. Long review process means get it right the first time

Once you’re pretty sure your app is ready, you can submit your app to the Apple review board.  Because there was a store attached to this game, I had to submit my purchasable items with the app.  That has it’s own review process that I wont go into here.  After the week long review I got back a message that says my store can’t tell the difference between sandbox and production environments.  After talking with the developer of the store I was using, I sent a message to the review team assuring them that the store does exactly what they said it doesn’t.  A  couple days later they approved the app with no response to my message or why they thought it didn’t.  Of course by the time the review was done, we had already found things that needed to be changed.  So now we wait another week, in which we will find more things to add to the game, and the cycle will continue.

I’m not some kind of Apple hater, I have gripes with Android also.  But when you are spending most of your development time waiting for build times and reviews, it’s very hard to get anything done with quick turnarounds.  That being said, you can be assured that the apps you download on your iOS devices are the most well-polished available.