The struggle between the client's requirements and the rules for hosting mobile applications on the platform itself is a pain in the neck for many programmers. Indeed, App Store poses a lot of limitations and has numerous nuances. Here is a list of peculiarities which often provoke heated discussion between the client and the contractor and which are often the reason why iOS application publication is denied.
Specifics of iOS-applications development
App Store manuals contain conditions that are obvious for developers and inexplicable for clients. Here are some of the most common restrictions.
01 | Custom authentication | Products that require personal information (such as date of birth, phone number, email) to register and activate an account are usually turned down. It is preferable to identify users with the help of manually entered logins and generators. | ||
02 | Unique solution | The rules prohibit the publishing “clones” of already existing applications. Only a unique idea, advanced functionality or a narrowly focused specificity give the mobile product a right to be published and distributed on the platform. | ||
03 | Convenient intuitive interface | Even if the application contains a great number of important functions, the interface part should be well developed. Every potential user should be able to easily access the full functionality. The interface should comply with Human Interface Guidelines; use of non-standard buttons, panels etc. is not welcome. | ||
04 | Full versions | “Beta”, “test” and demo variants of application are declined. Free access for evaluation can be made available in a Lite version with limited functionality. | ||
05 | Rational usage of multitasking | Additional threads can use background services: audio playback, VoIP. Location service and local notifications delivery are permissible. The program should complete current tasks in due time without delays or employment of threads used for other purposes. | ||
06 | Buying content | Payment for services should be conducted via an In-App Purchase system. The service cannot be used outside the application, even if it belongs to an online store. In such cases paying for online goods is conducted by usual means of e-commerce. | ||
07 | Coincidence in names | To avoid duplication of system names, longer names with prefixes are used inside the applications. | ||
08 | Compliance with the description | The application should solve the tasks stated by the developer. The application will not be approved if it contains hidden or non-documented functions, which do not match the description. |
Eyes on the updates
Instructions are regularly updated and supplemented by new conditions, and old rules are changed. At the end of 2014, just before the release of iOS 8, new sections were added to the manual. Separate paragraphs are devoted to the HomeKit, HealthKit and TestFlight functions. Software products working with them are prohibited from gathering personal data for mailing advertising information. Collecting, processing and using personal information to commercial ends is inadmissible. These restrictions can be lifted only with the agreement of particular users. There are also new requirements on metadata.
In cases of exigency the moderation period can be shortened by using the procedure of requesting a more rapid verification – Expedited Review. The service is not restricted; it can be used in the run-up to an important event, presentation or launch of a company. It is not always possible to force moderation – it requires a weighty argument.
According to statistics, the most common reason for turn-down of developed iOS applications is their uselessness. While striving to monetise an idea one shouldn't forget about the benefits for the users. The uniqueness of the program and usefulness for iPhone owners should be obvious to everyone. 14% of all denials are due to non-informative product descriptions. The other 12% include applications with stubs and obvious errors. And 5% of projects do not get into the App Store because the description doesn't match the content of the application itself.