What's In, What's Out for Mac App Store
Apple released the Review Guidelines
for the new Mac App Store last week, and it's a mixed bag. There's no reference to needing to have apps signed with Apple's root certificate, so it looks like we will dodge the bullet of signed binaries
. However, there's a long list of restrictions, including one on "deprecated or optionally-installed technologies" that explicitly excludes Java.
Similar to the recently-published guidelines for iOS App Store submissions, the document seems to be intended to head off complaints about the criteria for inclusion on the Mac App Store. Apple says that the guidelines are "to ensure that apps are reliable, perform as advertised, and free of offensive material," and also to let devs "create and prepare your apps so they will sail through our approval process." So as far as the "reliable" part goes, we have rules such as "2.1 Apps that crash will be rejected" (wow really?) as well as ones that "exhibit bugs" (2.2) and "'beta', 'demo', 'trial', or 'test' versions" (2.6). In terms of "performing as advertised," there are restrictions against "apps that are intended to provide trick or fake functionality that are not clearly marked as such" (2.10) and "apps that provide incorrect diagnostic or other inaccurate device data" (2.12). The rule against "offensive material" as defined by Apple would prohibit apps that are "pornographic" (14.1), "encourage excessive consumption of alcohol or illegal substances" (2.11), are "defamatory, offensive, mean-spirited" (10.1), "depict violence or abuse of children" (11.3) or show "images of people or animals being killed or maimed, shot, stabbed, tortured or injured" (11.2). And whatever combat games survive that last restriction cannot include enemies that can be identified as "a specific race, culture, a real government or corporation, or any other real entity" (11.3).
Beyond restrictions on content and function, though, there are some very clear bans on particular methods and technologies. Apps may not install kexts (2.18) or use their own copy protection schemes (2.19) but must "use the appropriate Mac OS X APIs for modifying user data" (2.29). Also, no Mac App Store app may use any "deprecated or optionally-installed technology." The document specifically mentions Java, which was officially deprecated - meaning that "the Apple-produced runtime will not be maintained at the same level, and may be removed from future versions of Mac OS X" - with last week's release of Java for Mac OS X 10.6 Update 3 and 10.5 Update 8
. The restriction may also include Flash, which is "optionally installed" on new MacBook Airs and all future Macs