iOS Enterprise: повторная сертификация существующего IPA с новым сертификатом - PullRequest
2 голосов
/ 06 декабря 2011

Мы зачислены в корпоративную программу iOS. Срок действия профиля предоставления доступа к нашим выпущенным приложениям скоро истекает, поэтому я получил новый сертификат и профиль обеспечения.

Мне нужно повторно распространить некоторые из наших приложений с новым профилем обеспечения, , не создавая их заново. Как?

(Я смутно помню, что видел утилиту, которая сделала именно это: вы выбираете IPA и профиль обеспечения, и он будет создавать новый IPA с использованием нового профиля и сертификата. Как назывался инструмент и где я могу получить это?)

Ответы [ 5 ]

2 голосов
/ 06 декабря 2011

Теоретически тот, кто создавал последний IPA в XCode, должен был использовать Archive - это создает сборку, которую вы можете подписать для создания IPA (используя XCode).

Вы также можете попробовать использовать инструмент подписи командной строки XCRun, чтобы заново подписать приложение, прилагаемое в существующем IPA:

http://skabber.com/package-your-ios-application-with-xcrun

1 голос
/ 06 декабря 2011

Утилита командной строки CodeSign, включенная в инструменты iOS SDK, позволит добавить / изменить сертификат и условие, с которым подписано приложение, разработанное разработчиком.

1 голос
/ 06 декабря 2011

ОК, получается, когда вы знаете , что термин для Google , есть много отличных ресурсов ...

Все они указывают на xcrun.Я заставил его работать с этим фрагментом оболочки, адаптированным из этого многообещающего сценария сборки :

APP_FILENAME=MyApp.app
BUILD_DIRECTORY=/Path/To/Target/Dir
IPA_FILENAME=MyApp.ipa
DISTRIBUTION_CERTIFICATE='iPhone Distribution'
PROVISIONING_PROFILE_PATH='/Path/To/Profile.mobileprovision'
/usr/bin/xcrun -sdk iphoneos PackageApplication -v "$APP_FILENAME" -o "$BUILD_DIRECTORY/$IPA_FILENAME" --sign "$DISTRIBUTION_CERTIFICATE" --embed "$PROVISIONING_PROFILE_PATH"
0 голосов
/ 09 декабря 2017

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

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

  1. Переименование IPA в zip
  2. Распакуйте этот файл во временную папку
  3. Удалите старую папку _CodeSignature из всех целей (если у вас есть несколько целей, таких как main, watch,просмотрите extn, siri, виджет, сообщение и т. д.)
  4. соберите все целевые prov-профили в одну папку и замените все внедренные файлы для каждой цели внедренными.provisioningprofile новыми
  5. удалитефайл archived .... xccent, поскольку он старый (необязательно)
  6. кодовый знак с перечнем authorlements.plist, созданным для всех прав, если таковые имеются в приложении.
  7. Сжатие папки назадпосле кода подписать все в порядке, без ошибок
  8. Переименовать почтовый индекс в IPA

Примечание. Чтобы проверить IPA перед загрузкой в ​​Apple, вы можете просто использовать altool из инбуild XCode App Loader для проверки нового IPA.

Ссылка: Шаги для команд также объясняются здесь: http://www.enterpriseios.com/forum/topic/Resigning_3rd_party_apps

Если вы хотите избавиться от руководствазнак использовать инструмент fastlane, так как его довольно просто и легко настроить. https://fastlane.tools/

0 голосов
/ 10 декабря 2012

Как утверждает hotpaw2. Вы также можете подать в отставку с помощью инструмента кодирования.

То, как я это делаю (это может быть не самым эффективным, но это работает)

  1. Переименуйте .ipa в .zip и извлеките

  2. Выполнить следующее:

    /usr/bin/codesign -f -s "iPhone Distribution: Company Name" "Payload/MyApp.app"
    
  3. Повторно заархивируйте папку Payload и переименуйте в .ipa

Примечание: Вы также можете использовать этот метод для редактирования файла embedded.mobileprovisioning! Просто не забудьте удалить .DS_Store (rm Payload/.DS_Store), если вы используете Finder.

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