В моем проекте мы создали .ipa
, используя наши сертификаты AppStore из нашей учетной записи Apple Developer. Более того, наши клиенты хотят, чтобы мы повторно подписали .ipa
, используя их собственный корпоративный сертификат и профиль обеспечения из своей учетной записи Apple Enterprise, чтобы они могли распространять приложение внутри компании. Однако после установки .ipa
на устройстве без отображаемой ошибки приложение запускается, но сразу вылетает. Мне удалось получить следующие журналы:
Начальная загрузка не удалась из-за ошибки: Ошибка Domain = BKSProcessErrorDomain Code = 1 "Невозможно bootstrap обработать с bundleID com.com.xxxx.xxxx.xxxx" UserInfo = {NSLocalizedDescription = Невозможно bootstrap обработать с идентификатором bundleID com.com.xxxx.xxxx.xxxx, BKSProcessExitReason = 0, NSLocalizedFailureReason = Не удалось запустить задание, NSUnderlyingError = 0x282068ff0 {Ошибка домена = NSPOSIXErrorDomain Code = такой код процесса 3 "=" UserInfo = {BKLaunchdOperation = launch_get_running_pid_4SB, NSLocalizedDescription = Невозможно получить pid для метки UIKitApplication: com.xxxx.xxxx.xxxx [0x333f] [62], BKLaunchdJobLabel = UIKitApplication: comxx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx.xx , NSLocalizedFailureReason = Нет такого процесса}}, BKSProcessJobLabel = UIKitApplication: com.com.xxxx.xxxx.xxxx [0x333f] [62], BSErrorCodeDescription = bootstrap -filed}
У меня уже дважды -проверены даты истечения срока действия сертификата и профиля обеспечения, а также в доверии они установлены на Use System Defaults
, и оба хорошо подходим друг другу. Кроме того, я обновляю идентификатор пакета в файле Info.plist
и обновляю Entitlements.plist
. Для подписи кода я уже использовал такие инструменты, как iResign
или EasyResign
, и ручную процедуру, описанную здесь .
Есть идеи, в чем может быть проблема?
ОБНОВЛЕНИЕ : я смог решить проблему, создав первоначальный .ipa с сертификатом разработки вместо сертификата AppStore (как предложено @ ниже), перед тем как заново подписать его сертификатом Enterprise In-House. Похоже, проблема заключается в том, что Apple несколько прописывает двоичные файлы приложений, подписанных AppStore, и делает это, когда мы повторно подписываем, не все приложение полностью переписывается. Таким образом, из того, что я мог узнать, когда требуется повторная подпись и когда клиент не предоставляет нам учетную запись Apple, а только идентификатор пакета, сертификат и профиль обеспечения, я бы предложил на нашей стороне кодировать .ipa с помощью Разработка или Ad-Ho c (не проверено, но, вероятно, работает) сертификаты.