8 June 20129to5Mac:
Following Apple’s decision to pull Rogue Amoeba’s Airfoil Speakers Touch app for a feature allowing iOS devices to stream to one another over AirPlay, Apple explained the app was removed for the feature’s use of non-public APIs. It currently only allows Apple TV and certain third-parties such as speaker manufacturers to access the AirPlay streaming protocol. The app was earlier this week allowed back into the App Store without the iOS to iOS streaming feature, but today we get word from Apple’s Senior Vice President of Worldwide Marketing Phil Schiller who explained in an email the reason behind removing the feature.
Phil Schiller’s response
“The story as I understand it is simple, and not accurately recounted on Rogue Amoeba’s website. Rogue Amoeba’s app added a feature that accessed encrypted AirPlay audio streams without using approved APIs or a proper license and in violation of Apple’s agreements. Apple asked Rogue Amoeba to update their app to remain in compliance with our terms and conditions.”
Although I’d have preferred the app to remain on the store, Schiller is right in the sense that there is a difference between ‘private APIs’ and ‘approved APIs’. Apple doesn’t call their iTunes AirPlay protocol a “private API” because it isn’t really an ‘API’ of the typical sense1. But, it was certainly not “approved”, thus causing the rejection.
1 API’s are usually denoted as private, when Apple doesn’t document them in the iOS SDK API Reference. However, as the iTunes protocol isn’t part of iOS – it doesn’t really apply to the typical “private” designation.