Apple’s policing of the iTunes App Store has always generated a consistent stream of criticism from developers and users alike. From inexplicable app rejections to hypocritical app acceptances, Apple has often toed the line between a company innocently trying to figure out how to manage an unprecedented online app store and a company exercising blind and draconian control to the detriment of its users.
More recently, Apple has shored up many of the initial complaints that plagued its operation of the app store. For starters, Apple published its app approval guidelines while also loosening up previous restrictions regarding the use of cross-platform development tools.
During October’s “Back to the Mac” event, Steve Jobs announced the impending arrival of a Mac app store, and while a centralized marketplace for exploring and downloading Mac apps sounds appealing, some developers are understandably wary of what types of rules Apple will encumber the Mac app store with. As an example, the iTunes App Store rejects out of hand apps that make fun of public figures. Will the Mac app store include a similar prohibition?
In anticipation of questions like these, Apple preemptively decided to issue an outline of what developers should be aware of before submitting apps to the Mac app store.
Naturally, apps that crash, contain bugs, or do not perform as advertised will not be allowed into the app store. And below are a slew of other guidelines.
Apps that duplicate apps already in the App Store may be rejected, particularly if there are many of them. Apps that are not very useful or do not provide any lasting entertainment value may be rejected. Apps that are primarily marketing materials or advertisements will be rejected. Apps that are intended to provide trick or fake functionality that are not clearly marked as such will be rejected.
Apps that encourage excessive consumption of alcohol or illegal substances, or encourage minors to consume alcohol or smoke cigarettes, will be rejected. Apps that provide incorrect diagnostic or other inaccurate device data will be rejected. Developers ‘spamming’ the App Store with many versions of similar apps will be removed from the Mac Developer Program.
Apps must be packaged and submitted using Apple’s packaging technologies included in Xcode – no third party installers allowed. Apps must be self-contained, single application installation bundles, and cannot install code or resources in shared locations. Apps that download or install additional code or resources to add functionality or change their primary purpose will be rejected.
Apps that download other standalone apps will be rejected. Apps that install kexts (kernel extensions) will be rejected. Apps that require license keys or implement their own copy protection will be rejected. Apps that present a license screen at launch will be rejected. Apps may not use update mechanisms outside of the App Store.
Apps must contain all language support in a single app bundle (single binary multiple language). Apps that spawn processes that continue to run after a user has quit the app without user consent will be rejected. Apps that use deprecated or optionally installed technologies (e.g., Java, [PowerPC code requiring] Rosetta) will be rejected.
Apps that do not run on the currently shipping OS will be rejected. Apps that are set to auto-launch or to have other code automatically run at startup or login without user consent will be rejected. Apps that request escalation to root privileges or use setuid attributes will be rejected.
Apps that add their icons to the Dock or leave short cuts on the user desktop will be rejected. Apps that do not use the appropriate Mac OS X APIs for modifying user data stored by other apps (e.g bookmarks, Address Book or Calendar entries) will be rejected. Apps that do not comply with the Mac OS X File System documentation will be rejected.
Also of note is that apps cannot use the name of competing products, such as Windows and Google Android, in their app descriptions.
And that’s just the tip of the iceberg. AppleInsider has a comprehensive rundown of Apple’s extensive Mac app store “outline” over here.