Apple limits the kinds of apps that can be written. This is a list of apps that can’t be written due to technical or other restrictions from Apple. This list is not comprehensive, and if you’re a registered developer you should read the official Review Guidelines. But it is compiled from some of the requests we’ve gotten over and over again.
This is a little oversimplified; some of these issues can actually be overcome through Herculean engineering efforts. For instance, although there is no officially-supported way to record phone calls, we engineered a custom solution to make it work. But those sorts of endeavors are very high-budget projects, if they can be done at all.
Accessing user data.
Applications have strong restrictions on accessing user data.
- An application cannot read or access a user’s e-mails or SMS messages.
- An application cannot automatically determine a user’s e-mail address or phone number.
- An application cannot read data from other applications or send data to other applications without the explicit cooperation of the developer of the other application.
- An application cannot access a user’s call logs, call history, or listen in on phone conversations.
- An application cannot look at a user’s browsing history.
- An application cannot find out what other apps a user has installed.
- Even if user data can technically be collected, there may still be restrictions on its use. You cannot just mine user data.
- An application cannot run in the background. There are three exceptions: if you are collecting the user’s location, if you are playing audio, or if you are writing a VOIP application. If you do not fit into one of those three categories, your application cannot run in the background.
- You cannot do fine-accuracy motion tracking, like what would be required to implement an Augmented Reality multiplayer game. The accelerometer is not accurate enough. There are exceptions to this too, but they are expensive.
- You cannot do indoor location tracking with GPS, as the GPS chip is not accurate enough indoors. Indoor location tracking generally requires expensive six-figure systems.
- Video formats are sharply limited to particular formats, sizes, and encodings. You cannot write an application to play 1080p AVI files on an iPhone.
- There are technical and legal limitations that make it impossible to do certain things to copy-protected music.
- User opt-in is required for many services including location, push notifications, and others.
- An application cannot change the behavior of other applications without the explicit cooperation of the developer of the other application.
- An application cannot alter the behavior of system applications such as Mail, Safari, Photos, Camera, Messages, Phone, the Home Screen, etc.
- An application cannot disable functionality of a device, such as turning off text messages while driving or similar.
- An application cannot usually launch other applications, or record what is happening in other applications, or manipulate other applications.
- An application cannot adjust system settings such as proxy settings, VPN settings, or the volume of the device (e.g. mute the device in certain conditions or certain locations), and almost all other system settings.
- The ability for an application to communicate over Bluetooth is very limited. In general, an iOS application can communicate to another iOS application, and sometimes to a headset or other very standard bluetooth hardware, but usually not to specialized Bluetooth hardware.
- An application cannot do anything illegal, or promote illegal behavior.
- Many “questionable” applications can be rejected at Apple’s discretion, such as joke apps, fake apps, prank apps, card-counting apps, p2p apps, apps that enable cheating in school, etc.
- There are complicated rules surrounding the collection of donations and selling physical goods from an app.
- Most money collected from a user must be collected through Apple’s IAP, netting Apple a 30% cut. There are exceptions, but not very many.
- Applications must be useful or provide other “lasting entertainment value”.
- Time-limited trial versions are not allowed.
- Applications must follow the Apple Human Interface Guidelines, which dictates the placement of certain controls.
- Applications cannot be confusingly similar to other apps.
- Applications cannot make use of the hardare buttons present on the device (volume up/down, mute switch, etc.)