Apple Relaxing Private API Restrictions ➝

Macworld’s Dan Moren reports of three recent iPhone app approvals that are a little out of the ordinary. The applications mentioned were Knocking Live Video, Ustream Live Broadcaster, and iSimulate, all of which use private APIs.

Vimov, the developer behind iSimulate has published Apple’s email regarding their iSimulate’s use of private APIs. From the email:

Thank you for submitting your update to iSimulate to the App Store. During our review of your application we found it is using a private API, which is in violation of the iPhone Developer Program License Agreement section 3.3.1; “3.3.1 Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs.” While your application has not been rejected, it would be appropriate to resolve this issue in your next update.

The non-public API that is included in your application is UITouch._touchFlags.

Please resolve this issue in your next update to iSimulate.

Another recent addition to the growing list of private API using applications is Hot Links. Jonah Grant, the developer of Hot Links, has also received a similar email from Apple that has published on his blog.

Dear Mr. Grant,

Thank you for submitting your update to Hot Links to the App Store.  During our review of your application we found it is using a private API, which is in violation of the iPhone Developer Program License Agreement section 3.3.1; “3.3.1 Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs.” While your application has not been rejected, it would be appropriate to resolve this issue in your next update.

The non-public API that is included in your application is setNumberOfRows:.

Please resolve this issue in your next update to Hot Links.

Regards,

iPhone Developer Program

It appears that Apple has taken a more lenient stance when it comes to the use of private APIs. Of course, this doesn’t mean that Apple will allow private API use, simply that for the time being they will accept applications that use private APIs, as long as they don’t break anything and the private API use is removed with the application’s next update.

Update 11/23/09: App Store Submissions are Being Tested with a Static Analysis Tool

Previous:
Next: