With iPhone OS 3.0, Apple introduced in-app purchasing. The idea is that applications can charge for additional functionality (or game levels), content subscriptions, or pay-per-use features.
There are two interesting caveats, though:
- An app can only offer in-app purchasing if the app isn’t free.
If you want to charge money for your app, you have to jump through a lot of paperwork-shaped hoops with Apple about tax and other very boring things. The same will obviously be the case for apps that want to offer in-app purchasing. But charging money for an app up-front is part of the iTunes Store process, and is hooked into your developer account. Using the ‘paid content download’ API is part of the developer tools, and is probably very hard to detect without using debugging tools, which aren’t part of the iTunes Store process.
This feels like a legal hack. It’s a short-term way to make sure that developers have done the paperwork required to collect money. Once the problem is solved properly, I’d expect this restriction to be relaxed. Maybe even you’ll be allowed to charge money for downloads if you have any paid-for app in the store, that might be easier to implement first.
I’m guessing that Apple got to shave a chunk of time off the release date of a feature by hacking their own license agreement system.