Close button in iOS app?

dont quit programmaticallyApple is quite strict about their Human Interface Guidelines for iOS devices. Complying with these guidelines is not always easy though. Much of what Apple states in the guidelines is open to interpretation. It’s a guideline, after all. Lots of statements such as „in general…“, „if possible…“, „in most cases“.

Apple’s developer support avoids clear answers on questions about the guidelines. If your question is a tricky one, they will much rather refer back to the guideline or recommend you simply submit you app and give it a try.

When an app is rejected there is often only a very general statement about why this happened. Usually it’s just a boilerplate message referring to a section in the guideline, including a brain dead recommendation to rectify the issue, like taking out a feature altogether.
The most annoying experience I had with Apple recently was a discussion on the phone with an employee who suggested that closing an app programmatically may be acceptable if we were to change it from a free app to a paid one. The app concerned is a free program to promote a pharmaceutical product with a cool Google Maps based reporting tool. Being a pharma app, the tool must have a one-time disclaimer message which the user needs to agree to before using the tool. But what if the user does not want to accept the terms? We thought it would only be logical to close the app, even though this may not be in compliance with Apple’s interface guidelines. The app was nevertheless accepted on first time submission. The rejection occurred however when we uploaded another release about one year later:

Don’t Quit Programmatically!

We decided not to accept this decision and started a debate, telling Apple that pharma market conditions require promotional tools like apps to be very clear about the legal frameork they operate under. There must be Legal Terms, and if the user rejects them, the app must dutyfully close. That’s what our users expect. If we let them end up in a you-must-accept-these-terms loop, they might feel like being tricked into accepting something they don’t like. Also, there are multiple apps out there which terminate when you reject the one-time disclaimer.

After having read our justifacation, Apple decided to escalate the issue. I received a phone call from an employee who did not seem to be very interested in discussing the Guidelines and our initial response. Instead, he suggested that closing this app would make more sense if we were to charge for it, „like 99 cents“.
What? Why would a charge justify this? I tried not to express my annoyance and I explained in much detail that this is a free promotional tool, and that under no circumstances we would ever charge for it. The Apple person patiently listened, but his response was no more than a suggestion to resubmit the app and await a decision. I thought „That’s it“. The app will never get approved again. All that money was wasted. So I once again tried to convice this guy, no less dedicated, and no less detailed. He again listened patiently, he again did not comment, and he again just recommended to resubmit.

Guess what happened? When I resubmitted the app, it was approved in no time. I of course cannot tell whether it was Apple’s sole intention to change the app into a paid one, but what I was told during this phone call made no sense to me at all.