Требуется ли файл authorlement.plist при повторной подписи IPA разработки с сертификатом распространения и профилем той же учетной записи? - PullRequest
0 голосов
/ 17 января 2020

В моей организации сертификат распространения и профиль обеспечения магазина приложений расположены и установлены на компьютере Ma c, который присутствует в лабораторной среде, к которой имеет доступ только менеджер лаборатории.

Для меня загрузите IPA приложения в магазин приложений, мне нужно заархивировать IPA разработки (используя dev cert и профиль в режиме конфигурации выпуска) на моем локальном компьютере Ma c, а затем отправить через этот IPA менеджеру лаборатории.

Менеджер лаборатории использует сценарий повторной подписи python для повторной подписи IPA в лаборатории Ma c.

Нужно ли мне также явно отправлять файл authorlements.plist вместе с IPA. Мое приложение не использует никаких возможностей, даже Pu sh Уведомления. Все возможности в XCode отключены, и на портале для разработчиков также у идентификатора приложения есть Game Center и In-House Purchase, как проверено по умолчанию в разделе «Возможности».

Я предполагаю, что это та же учетная запись Apple, с помощью которой менеджер лаборатории будет повторная подпись IPA, и профиль магазина приложений, представленный в лаборатории. Ma c содержит свои собственные права. Мне не нужно отправлять явный файл authorlements.plist. Кроме того, я предполагаю, что приложение не будет отклонено при рассмотрении.

Верны ли эти предположения? Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 17 января 2020

1) Право на получение разрешения может быть предоставлено при повторном копировании ipa, как показано ниже, но это необязательно.

codesign --entitlements entitlements.xml   -f -s "IDENTITY" Payload/<app_name>.app

Пожалуйста, обратитесь Как я могу подать в отставку приложение с правами?

2) Чтобы подать в отставку ipa, вы можете выполнить следующую процедуру (без предоставления права).

Реквизиты:

  • Профиль распространения
  • Сертификат распространения
  • Предполагается, что профиль распространения хранится в Desktop ~ / Desktop / AdHo c .mobileprovision

Процедура:

1) распаковать ipa, используя следующую команду,

unzip app.ipa

2) Когда вы распакуете его, у вас будет выходной каталог «Payload».

3) удалить файл _CodeSignature из разархивированной папки «Payload», как показано ниже

 rm -rf Payload/MyApp.app/_CodeSignature/

4) Переименуйте профиль распространения, который хранится на рабочем столе, в embedded.mobileprovision

5) Скопируйте профиль распространения (embedded.mobileprovision from Desktop) в Payload / .app

cp ~/Desktop/AdHoc.mobileprovision Payload/MyApp.app/embedded.mobileprovision

6) Уйдите в отставку, используя ниже команды,

codesign -f -s “IDENTITY”  --resource-rules Payload/MyApp.app/ResourceRules.plist  Payload/MyApp.app

7) Полезная нагрузка Zip для формирования ipa, как показано ниже

zip -qr <app_name>.ipa Payload/
1 голос
/ 17 января 2020

Вы можете , а не волшебным образом прикрепить файл прав во время экспорта; это должно быть там во время архивирования. Но вы не узнаете, поняли ли вы это «правильно» (в глазах Apple) до времени распространения.

Так что ситуация, когда архивирование происходит в одном месте, а экспорт происходит в другом, не будет счастливой. .

Я бы описал всю эту ситуацию как неприемлемую. У меня было много случаев, когда я просто работал на своем компьютере, где я мог архивировать, но потом не мог загрузить его в магазин приложений или TestFlight из-за проблем с правами. И часто не было «настоящей» проблемы: мне просто нужно было принести кучу козьих жертв и дурачиться с настройками (например, включать и выключать права). Дело в том, что вы не знаете, что есть проблема, пока вы не экспортируете, а затем, чтобы узнать, исправили ли вы ее, вам нужно снова собрать / архивировать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...