2014-11-07 5 views
4

Я разделяю рамки между приложением и его расширением действия. В структуре используется API, недоступный для расширений.Расширение iOS и ограниченный API

Мой вопрос: будет ли отклонено приложение, если я сохраню ссылки на API, такие как UIApplication.sharedApplication, фактически не вызывая их (установка «Требовать только API для расширения приложений - нет»), или мне нужно полностью удалить любые ссылки из кода (то есть используя #ifdef)?

ответ

3

Да она будет отклонена, даже если он ссылается на ограниченный API. Мы проводим один и тот же процесс для удаления таких вызовов в нашей системе, альтернативно, у вас могут быть две цели для вашей инфраструктуры, одна безопасная для одного и одна, а не с защитой #ifdef.

Apple, документы: (https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/ExtensibilityPG/ExtensionScenarios.html)

Если у вас есть пользовательские рамки, которые действительно содержат такие интерфейсы, вы можете безопасно связать его с вашего содержащим приложения, но не может разделить этот код с расширениями в приложении содержало , App Store отвергает любое приложение расширения, ссылки на такие рамки или иным образом использует недоступного API.»

-3

Обновление для iOS 9: Apple удаляет доступ к недействительным фреймворкам для определенных целей, поэтому вы не сможете ссылаться на недоступные API независимо от того, что будет принимать принятый ответ.

- оригинальный ответ -

Если это не огромное неудобство, это, вероятно, лучше #ifdef вокруг ссылок. Это сделает ваш код более совместимым с Outlook в случае, когда Apple решает в будущем разбить компиляцию, если ваше расширение ссылается на ограниченный API (как и при попытке получить UUID устройства).

Кроме того, это сделает ваши рамки использоваться в других сценариях, в которых вы не могли бы иметь доступ UIKit, как на OS X.

+0

Спасибо, но это не реально ответить на мой вопрос. –

Смежные вопросы