Crashlytics: невозможно упаковать исходный код из-за ошибки

Я настраиваю Xcode Bot для автоматической загрузки и распространения моего бета-приложения. Я настроил Mac с активированным MacOS Server и Xcode, и я могу создавать и экспортировать IPA вручную. Xcode Bot, который я создал, также без проблем архивирует и экспортирует IPA.

Однако, когда я пытаюсь запустить сценарий отправки Crashlytics в триггерах сообщений Xcode Bot, загрузка не выполняется. Но если я сохраню сгенерированный ботом IPA и вручную вызову скрипт Crashlytics через терминал, он будет загружаться нормально. Кажется, что только Xcode Bot не может отправить Crashlytics.

У меня есть все правильные сертификаты, установленные на сервере Keychain, и все отлично работает для ручного архивирования/экспорта как в Xcode, так и с использованием IPA, сгенерированного Xcode Bot.

Вот журнал от Xcode Bot:

2016-11-22 17:15:53.942 submit Crashlytics: Crashlytics.framework/submit 1.3.5 (18)
2016-11-22 17:16:03.125 submit Crashlytics: Unable to package source due to error: Error Domain=CLSIPABuilderErrorDomain Code=-6 "(null)" UserInfo={UnderlyingError=Error Domain=CLSCodeSignerErrorDomain Code=-2 "(null)" UserInfo={arguments=(
    "--sign",
    ACFE8B8E177196BFF1974841752020FE96687508,
    "--all-architectures",
    "--force",
    "--entitlements",
    "/var/folders/81/5t89fdcn3h3680gh99mgvl7934dkfg/T/com.crashlytics.ipas/E357A31C-B1A2-424B-8A5A-E7D499A92C73/Payload/entitlements.xml",
    "/var/folders/81/5t89fdcn3h3680gh99mgvl7934dkfg/T/com.crashlytics.ipas/E357A31C-B1A2-424B-8A5A-E7D499A92C73/Payload/Ebates Beta.app"
), environment={
    "CODESIGN_ALLOCATE" = "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate";
}, status=1, stderr=ACFE8B8E177196BFF1974841752020FE96687508: no identity found
, command=/usr/bin/codesign, stdout=}, SourcePath=/var/folders/81/5t89fdcn3h3680gh99mgvl7934dkfg/T/com.crashlytics.ipas/E357A31C-B1A2-424B-8A5A-E7D499A92C73}
2016-11-22 17:16:03.187 submit Crashlytics: Failed to prepare the binary for release

Весь день рвал на себе волосы, надеясь, что кто-то может пролить свет на эту проблему.


person JimmyJammed    schedule 23.11.2016    source источник


Ответы (1)


Хорошо, получается, что вам нужно запустить приложение на устройстве непосредственно из Xcode на серверной машине, чтобы Xcode автоматически сгенерировал все соответствующие XC iOS профили подготовки. По-видимому, сценарий Crashlytics повторно упаковывает IPA, и для этого ему потребуются действительные профили подготовки. Я думаю, что бот Xcode генерирует IPA, но он не полностью подписан кодом, пока вы не сохраните результаты бота, а не просто запустите его после запуска бота.

Если вы перейдете на портал developer.apple.com и посмотрите в разделе Provisioning Profiles, вы должны увидеть что-то вроде этого: введите здесь описание изображения

person JimmyJammed    schedule 23.11.2016