Apple recently began using computers to automatically scan for the use of private application programming interfaces. The new automated scan does not change any of the rules Apple has had in place for the App Store: Private APIs have always been banned from use in iPhone software. But according to Gizmodo, the rule was not entirely enforced, because it can be difficult to determine when an API falls within the rules and when it does not.
iPhone developers are provided with a number of public APIs that are within the terms of the App Store developer agreement. But there are other, private APIs that are considered off-limits.
"Private APIs are calls and features that only Apple uses, and which they don't really tell developers about," John Herrman explained. "There could be a few reasons for this: either they specifically don't want developers to use them, for security or consistency reasons, or they're not finished and subject to change, which means that for devs to use them would be risky — their apps could just break with the next system update, since these private APIs are, in effect, volatile."
The new "static analysis tools" aim to catch those who might have snuck by the approval process before, with software that bends or breaks the rules established by Apple. In theory, it shouldn't change the system for law-abiding developers, but will provide a more thorough analysis of software before it is OK'd for distribution on the App Store.
But this week, Chris Parrish with development company RogueSheep Incorporated said that their new application, Postage, was rejected by the system because of a false positive. The specifics of the rejection are technical, but in short, RogueSheep used the name of a private API method for its own category method name within the software, which caused the rejection. The developer addressed the issue, even though Parrish claims they did not actually utilize a private API.
Parrish said he would like for Apple to provide him and other developers with a copy of the analysis tool to test their own builds before they are formally submitted. He said his team had to wait for the 14-day review process to complete before they found out they had failed the analysis.
"Hopefully this and other possible false positive problems with the new code analysis portion of App Store submissions will be addressed soon," he said.
Earlier this month, Apple added a feature to its Development Center Web site that allows developers to view the approval status of submitted applications. It allows developers to see where in the process their submission is located, with categories including "in review," "ready for sale," and "rejected."