2010-02-04 2 views
3

Я вот-вот закончу свое первое приложение для iPhone.Запрещены сторонние частные API для процесса утверждения App Store?

Я слышал о том, что приложения отклоняются для использования некоторых частных API.

Я также использую некоторые частные API, такие как ASIHTTPRequest, MBProgressViewHUD.

Так скажите мне, эти или любые другие частные API-интерфейсы, которые отклоняются, для которых я должен быть уверен, что не буду использовать их сейчас или в будущих приложениях.

Вы можете перечислить их или просто сообщить, как принять меры предосторожности при использовании частных API.

ответ

9

Возможно, существует путаница между частными и сторонними API.

Private API является стандартными классами и структуры, которые используются Apple, внутренне и не подвергаются для публичного использования (например MKMapViewInternal класса, скрывающех внутренности класса MKMapView или UIGetScreenImage() функцию, которая временно правовой сейчас).

Сторонние API (например, ASIHTTPRequest) создаются с использованием общедоступного API для расширения его функциональности, и абсолютно законно использовать их приложения для iPhone (хотя вы должны быть осторожны и убедиться, что они сами не используют частный API)

Edit: наиболее известным примером третьей стороной апи проблемы с AppStore допуска вероятно three20 библиотека, но я думаю, что они уже решили эту проблему (см discussion в Google групп)

Там вы также indications, что Apple не так строго относится к использованию частных API

+0

Владимир, не могли бы вы добавить дополнительные сведения о том, что UIGetScreenImage() является «временно» законным? Вы имеете в виду, что эта функция снова будет незаконной, начиная с определенной даты или выпуска SDK? Как можно безопасно использовать его, если он рано или поздно будет незаконным? –

+2

Смотрите эту запись в блоге: http://www.tuaw.com/2009/12/15/apple-relents-and-is-now-allowing-uigetscreenimage-for-app-st/ для деталей. Там также есть ссылка на соответствующее сообщение apple devforum. – Vladimir

+1

Итак, если я правильно понял ситуацию - в приложении было значительное количество приложений в appstore, и Apple решила не удалять их и временно разрешать использовать ее. Но он оставляет за собой право запретить его снова в будущем после предоставления аналогичной функции в публичном API – Vladimir