Проверка прав распределения
Q: Как я могу проверить, что мое представление к App Store было кодом, подписанным и названным правильно?
A: При использовании XCode для представления приложения, XCode уйдет в отставку, это с помощью идентификационных данных подписывания кода и связанной настройки профилирует Вас выбор. Таким образом, подпись представленного приложения и его содержания могла бы отличаться, чем, что находится в архиве XCode или любых сборках, которые Вы протестировали. Путем выполнения шагов в этом документе можно проверить, что сборка, представленная App Store, подписывается путем, Вы ожидаете.
Как это происходит, нет никакого способа фактически выполнить Вашу сборку распределения, как расписался за представление к App Store. Необходимо будет использовать XCode для создания .app пакет, подписывающийся для представления к App Store. Тогда используйте codesign инструмент для проверки это - права. Можно использовать те же шаги для нахождения прав «Оперативной» или «разработки подписанной» сборкой, которую Вы протестировали и знаете для работы. Путем сравнения прав можно проверить, что представление подписывается, как Вы ожидаете.
Проверка Прав для Представления приложения для iOS к App Store
Создание файла Inspectable .ipa
В Организаторе XCode, вместо Подчиняются Хранилищу приложения для iOS, действительно Сохраните для Предприятия или Оперативного Развертывания. Это создаст локальную копию
.ipaфайл, который был бы представлен App Store.Когда спросили выбрать профиль настройки для подписания с выберите то же распределение, профилируют Вас использование при представлении App Store. Возьмите снимок экрана по Вашему выбору (command-shift-3), таким образом, можно проверить этот шаг позже. Во время представления этот снимок экрана будет единственной записью, у Вас есть идентификация, какой профиль использовался для подписания приложения.
Когда спросили сохранить пакет, снятие флажка Сохраняет для Распределения Предприятия, затем сохраняет
.ipaфайл.
Проверка Прав .ipa файла
Найдите
.ipaфайл и изменение расширение.zip.Расширьтесь
.zipфайл. Это произведет aPayloadпапка, содержащая Ваш.appпакет.Используйте
codesignинструмент для проверения прав.appсвяжитесь как это:$ codesign -d --entitlements :- "Payload/YourApp.app"
где YourApp.app является подлинным именем Вашего
.appпакет.Используйте средства обеспечения безопасности, чтобы проверить, что права приложения встроили профиль настройки:
$ security -D -i "Payload/YourApp.app/embedded.mobileprovision"
где YourApp.app является подлинным именем Вашего
.appпакет.
Проверка Прав приложения OS X Представление к App Store Mac
Создание Inspectable .app связаться
В Организаторе XCode, вместо Подчиняются App Store Mac, действительно Экспортируйте как Пакет Установщика Mac. Это создаст локальную копию .pkg файла, который был бы представлен App Store Mac.
Когда спросили выбрать профиль настройки для подписания с выберите то же распределение, профилируют Вас использование при представлении App Store Mac. Возьмите снимок экрана по Вашему выбору (command-shift-3), таким образом, можно проверить этот шаг позже. Во время представления этот снимок экрана является единственной записью, которую Вы будете иметь, который идентифицирует, какой профиль использовался для подписания приложения.
Сохраните .pkg файл, когда запрошено.
Используйте
pkgutilинструмент для расширения пакета в его компоненты:$ pkgutil --expand "YourApp.pkg" Expanded_pkg
где YourApp.pkg является подлинным именем пакета, Вы создали на предыдущем шаге.
Разверните сжатую полезную нагрузку в пакете с помощью
openинструмент или путем двойного щелчка по нему:$ open Expanded_pkg/com.yourcompany.yourapp/Payload
где com.yourcompany.yourapp является фактическим пакетом ID Вашего приложения.
Проверка Прав пакета .app
Используйте codesign инструмент для проверения прав .app свяжитесь как это:
$ codesign -d --entitlements - "Expanded_pkg/com.yourcompany.yourapp/YourApp.app" |
где YourApp.app является подлинным именем Вашего .app пакет.
Используйте средства обеспечения безопасности, чтобы проверить, что права приложения встроили профиль настройки:
$ security -D -i "Expanded_pkg/com.yourcompany.yourapp/YourApp.app/embedded.provisionprofile" |
где YourApp.app является подлинным именем Вашего .app пакет.
Поиск и устранение неисправностей дающих право несоответствий
Выполните эти шаги, если право не установлено как ожидалось.
1. Журнал в Сертификаты, Идентификаторы и Профили> (iOS или OS X)> Настраивающие Профили> Распределение.
Щелкните по профилю распределения и гарантируйте, что желаемые права перечислены под «Включенными службами». Если желаемые службы не включены, перешли к разделу App ID сайта и включают необходимые службы на Приложение ID, связанный с профилем распределения.
Гарантируйте, что состояние профиля распределения «Допустимо». Если состояние «Недопустимо», это означает, что должен быть регенерирован профиль. Если были изменения, внесенные в его связанные сертификаты или во включенные службы его Приложения ID, состояние профиля становится недопустимым. Для регенерации профиля выберите его из списка и нажмите «Edit». Свяжите профиль к любым новым сертификатам (если необходимый) и затем нажмите «Generate».
2. Выполните шаги в Обновлении Профилей Настройки в XCode, чтобы гарантировать, что библиотека профиля настройки XCode актуальна.
3. Нажмите «Distribute...» по вкладке Xcode> Organizer> Archives и выберите профиль распределения в меню выбора Provisioning Profile. Возьмите снимок экрана по Вашему выбору (command-shift-3), таким образом, можно проверить этот шаг позже. Во время представления этот снимок экрана будет единственной записью, которую Вы имеете, который идентифицирует, какой профиль использовался для подписания приложения.
История версии документа
| Дата | Примечания |
|---|---|
| 10.09.2014 | Добавьте требование, чтобы проверить, что приложение встроило профиль настройки. |
| 06.05.2014 | Дополнительный поиск и устранение неисправностей. |
| 24.02.2014 | Новый документ, описывающий, как проверить права на отправке приложения в магазин, - то, что Вы ожидаете |