Apple has just confirmed to The Verge that it removed Rogue Amoeba's Airfoil Speaker Touch application from the App Store after version 3.0 — released last month — was found to be in violation of developer guidelines. The company believes that the app's recently-introduced "AirPlay receiver" functionality is a breach of Review Guideline 2.5:
Apps that use non-public APIs will be rejected.
John Gruber of Daring Fireball was the first to offer up this reasoning after conferring with sources. The feature in question permits any iOS device running the app to play back audio beamed from a variety of sources using Apple's AirPlay wireless streaming protocol. Apple presently only allows designated products to act in this capacity — such as the Apple TV and (often expensive) AirPlay-enabled third-party hardware. Rogue Amoeba wasn't shy about highlighting that aspect when it updated Airfoil Speakers Touch in April.
With an inexpensive in-app purchase, your iOS device becomes a full-fledged mobile AirPlay receiver! That means you can stream audio from one iOS device to another, or even send from iTunes directly to iOS. Why spend hundreds on a costly third-party AirPlay device, when you can use the iOS device you already have?
For its part, the developer claims its app was compiled "in full compliance" with Apple's guidelines, suggesting that it doesn't consider any of the underlying code to be utilizing private or unsanctioned API calls.
Apple seems to be on the hunt for other applications advertised as AirPlay receivers; AirFloat, developed by The Famous Software Company, was pulled from iTunes last week. We've reached out to Rogue Amoeba for comment on Apple's official stance, and expect to hear back from Cupertino with further clarification on the matter shortly.
Update: Rogue Amoeba CEO Paul Kafasis has responded, and it appears the developer is still awaiting an explanation from Apple regarding what API the company is purportedly using. His full statement:
There seems to be something of a communications problem with Apple. They have been unable to tell us which specific API they believe we are misusing. As we've stated, we've implemented Airfoil Speakers Touch using only publicly-available API, and in full accordance with the developer agreement. When they spoke to us earlier this week, Apple used the same line they've now repeated to the press: "Apps that use non-public APIs will be rejected". Again, however, we've asked what non-public API they believe we're using and have received no response.