Нужен ли мне файл Entitlements.plist для специальной сборки? - PullRequest
17 голосов
/ 02 февраля 2011

Инструкции, приведенные на странице Распространение на портале обеспечения iOS, по-прежнему четко описывают процесс создания и включают файл Entitlements.plist в сборку для специального распространения.На странице Руководства по разработке для iOS , с другой стороны, ничего не говорится о файле Entitlements.plist.

Когда я пытался «построить и архивировать» наше последнее приложение, следуя инструкциямиз Руководства по разработке iOS, получившийся в результате специальный app.ipa не будет установлен на моем устройстве для разработки из-за проблемы с разрешениями.Когда я перестраивал с помощью файла Entitlements.plist, новый app.ipa нормально устанавливался.

К сожалению, включение Entitlements.plist в app.ipa означает, что результирующая сборка не может быть просто переподписана иотправлено в магазин приложений - верно?Вместо этого мне нужно пересобрать без Entitlements.plist и отправить результат в магазин приложений.

Полагаю, у меня действительно есть несколько связанных вопросов:

  1. Будет ли приложение.ipa, созданный в соответствии с инструкциями в Руководстве по разработке для iOS (без Entitlements.plist, просто подпишите его с помощью специального профиля обеспечения распространения), установите OK на устройстве не-dev, которое было правильно определено в тестовом профиле обеспечения распространения?
  2. Можно ли как-нибудь проверить точные результаты «Сборки и архивирования» на моем компьютере разработчика, чтобы я мог просто переподписать его и отправить в App Store из Xcode?
  3. Будет лиapp.ipa, который явно содержит файл Entitlements.plist, будет отклонен, если я его отправлю?

Спасибо!

Ответы [ 5 ]

5 голосов
/ 19 ноября 2013

Начиная с Xcode 4.2, вам больше не нужно создавать файл Entitlements.plist при создании приложений, не требующих каких-либо специальных разрешений для запуска. Для разрешения get-task-allow автоматически устанавливается значение true или false, в зависимости от того, с каким профилем предоставления доступа вы подписываете свое приложение (Developer, Ad Hoc или App Store).

исх: http://help.testflightapp.com/customer/portal/articles/535398-invalid-profile-distribution-build-entitlements-must-have-get-task-allow-set-to-false-

4 голосов
/ 25 декабря 2011

Я только что попробовал, не нужно никаких прав для простого ad-hoc, просто используя ad-hoc профиль для архивирования и обмена, тогда все в порядке.

3 голосов
/ 17 марта 2011

Из библиотеки iOS Developer:

Если вы делаете раздачу Ad Hoc, вы должны правильно настроить свой проект, включив в него файл Entitlements.plist и снять флажок get-task-allow(который устанавливает его в False).http://developer.apple.com/library/ios/#technotes/tn2242/_index.html

Нет проблем с тем, чтобы оставить файл Entitlements.plist в сборке дистрибутива, с ним было отправлено несколько приложений.На самом деле, Entitlements.plist также предназначен для других функций iOS, которые может использовать ваше приложение:

Права.Эти файлы определяют свойства, которые предоставляют вашему приложению доступ к функциям iOS (таким как push-уведомления) и защищенным данным (таким как цепочка для ключей пользователя).

http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/iphone_development/115-Configuring_Applications/configuring_applications.html

Также проверьте этоответ: Исполняемый файл был подписан с недействительными правами

2 голосов
/ 04 августа 2011

Get-task-allow теперь называется «Может быть отлажено» в Xcode 4.1, если вы использовали инструмент модернизации

0 голосов
/ 09 марта 2011

У меня нет ответов на все ваши вопросы, но мне нужно было добавить Entitlements.plist, когда я недавно использовал специальный дистрибутив для некоторого тестирования.Я думаю, что в документации все еще говорится о настройке «get-task-allow» в .plist, но когда я точно следовал инструкциям, у меня возникли проблемы с подписью приложения.Вместо этого я создал Entitlements.plist, используя шаблон Xcode.Он имеет две или три настройки, ни одна из которых не является get-task-allow.Я оставил его точно таким же, каким он был при создании, и сборка прошла успешно.

В прошлом я видел, что приложения, отправленные в магазин приложений с включенным Entitlements.plist, не прошли этап проверки.

...