The curious case of our iOS app [updated]

UPDATE APR, 2012: At last! After a long wait, Prey is now back on the App store.

As you know, a couple of months ago we released a new client for the iOS platform. Exciting moment it was. The following weeks we got lots of feedback — both good and bad, some of it very constructive — and the app was also featured on a number of respectful tech sites on the Internext.

So everything was going just fine and dandy until one day the app suddenly dissapeared from the phase of the App Store without giving any trace. What the –?

Well here’s what happened.

We pushed a new release containing a number of fixes and UI improvements and Apple not only rejected the update but unanimously decided to take the whole app down. Funnily, though, the app was rejected for stuff that hadn’t even changed from version one.

We thought this would be a quick process — which is why we didn’t blog about this until now — but it’s already been more than a month so we though it would be good to give everyone the full scoop on what’s going on.

After we submitted the version, we received an email from Apple’s review team which pointed out two things:

  • That Prey used a background mode without including a disclaimer about battery use in the app’s description, and
  • That we offered a paid option on our website and we were not offering any kind of in-app purchase option.

So we thought “ok, not a problem”. We added the disclaimer to the app’s description and — after a pretty long debate — we ended up removing all “upgrade to Pro” references for iOS users on our Control Panel. We just cared about getting the new version out, you know.

And that’s when we got a new email from them, telling us that if we didn’t make the needed modifications they would remove Prey from their App Store.

And we were like: W – H – A – T?

We contacted them right away and they insisted on the paid option issue (which we had removed from our website), and mentioned an additional one:

  • That our app claimed to use background location services but according to them they were not used by the application.

So after explaining once again that there was no longer a paid option available for iOS users, we gave them a detailed explanation of how Prey used location services:

[…]

As for the background location services issue, you state that our app “does not include features that require persistent location” and, as we’ve already mentioned, that is not so. Whenever the device is flagged as missing (and the signal received) the app does indeed run in the background using location services, having that it needs to grab the current location in order to report it back to the server.

I guess the reason for the confusion is that our app does not run in the background until it really needs to (when requested), so that we don’t waste any unneeded battery life. We actually wrote a blog post some time ago explaining in full detail how our iOS client works:

http://preyproject.com/blog/2011/11/prey-for-iphone-and-ipad-how-it-works

[…]

And this is when the ping-ponging via email began. There must have been over a dozen emails sent back-and-forth until we were hit with the bad news.

Apple had, indeed, taken the app down from the store. Then they said:

You may also want to place an appeal for your review. You can submit a request to the App Review Board. The App Review Board was created for developers to appeal an app review they have concerns with. Once the App Review Board has completed their evaluation, they will contact you directly with the decision.

And hell we did.

It took well over two weeks to get in contact with them –we were even willing to drive by Cupertino to meet them–, and they finally told us over the phone what the Review Board had concluded:

  • That removing links was not enough. If we had a paid option available we simply had to include an in-app purchase option. They were specially inflexible in this topic and when we proposed alternate solutions they basically told us “either you do it this way or you don’t get into the App Store”.
  • That we needed to show a map inside the application to make the user aware that the app had tracking capabitities (!).
  • And to remove the stormtrooper image from camouflage mode, due to copyright purposes — the image is royalty free, but who knows what George Lucas might say.

So, as you see, besides the in-app purchase issue our app has been rejected for different things at different points in time. At one point we though were being blocked for no apparent reason, but in the end it just seems that Apple is not willing to give up any part of the cake when there’s something that can be had.

So we are we right now?

Well we finally decided to add in-app purchases to the app because there doesn’t seem to be any other way. The other two things are small details which have already been fixed, so we hope to submit an update –hopefully the final one– before Tuesday next week.

We’ll probably include a bonus discount to users who upgrade via the App Store, as a way to compensate for the all the trouble. We’ll make it up for you guys!

I hope I cleared out some of the mystery around our iOS app and the reasons why it cannot be downloaded at this moment. This has been a really painful process for us, so as a recommendation to other iOS users, when you decide to submit your app be prepared for anything.