Crashlytics:由于错误无法打包源
Crashlytics: Unable to package source due to error
我正在设置一个 Xcode 机器人来自动上传和分发我的测试版应用程序。
我已经设置了一个 mac 并激活了 macOS 服务器和 Xcode 并且能够手动构建和导出 IPA 就好了。
我创建的 Xcode 机器人也可以毫无问题地存档和导出 IPA。
但是,当我尝试 运行 Xcode Bot 的 post 触发器中的 Crashlytics 提交脚本时,上传失败。但是,如果我保存机器人生成的 IPA 并通过终端手动调用 Crashlytics 脚本,它就可以正常上传。似乎只有 Xcode Bot 无法提交到 Crashlytics。
我在服务器钥匙串上安装了所有正确的证书,并且在 Xcode 和使用 Xcode Bot 生成的 IPA 中手动 archive/export 一切正常。
这是来自 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
一整天都在为这个问题绞尽脑汁,希望有人能对这个问题有所了解。
好的,事实证明您需要直接从服务器机器上的 Xcode 运行 设备上的应用程序,这样 Xcode 将自动生成所有适当的 XC iOS
配置文件。显然,Crashlytics 脚本将重新打包 IPA,并且需要有效的配置文件才能这样做。我认为 Xcode Bot 生成了一个 IPA,但在您从机器人结果中保存之前它没有完全代码签名,而不仅仅是从机器人 post-trigger 运行ning。
如果您转到 developer.apple.com 门户并查看配置文件,您应该会看到如下内容:
我正在设置一个 Xcode 机器人来自动上传和分发我的测试版应用程序。 我已经设置了一个 mac 并激活了 macOS 服务器和 Xcode 并且能够手动构建和导出 IPA 就好了。 我创建的 Xcode 机器人也可以毫无问题地存档和导出 IPA。
但是,当我尝试 运行 Xcode Bot 的 post 触发器中的 Crashlytics 提交脚本时,上传失败。但是,如果我保存机器人生成的 IPA 并通过终端手动调用 Crashlytics 脚本,它就可以正常上传。似乎只有 Xcode Bot 无法提交到 Crashlytics。
我在服务器钥匙串上安装了所有正确的证书,并且在 Xcode 和使用 Xcode Bot 生成的 IPA 中手动 archive/export 一切正常。
这是来自 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
一整天都在为这个问题绞尽脑汁,希望有人能对这个问题有所了解。
好的,事实证明您需要直接从服务器机器上的 Xcode 运行 设备上的应用程序,这样 Xcode 将自动生成所有适当的 XC iOS
配置文件。显然,Crashlytics 脚本将重新打包 IPA,并且需要有效的配置文件才能这样做。我认为 Xcode Bot 生成了一个 IPA,但在您从机器人结果中保存之前它没有完全代码签名,而不仅仅是从机器人 post-trigger 运行ning。
如果您转到 developer.apple.com 门户并查看配置文件,您应该会看到如下内容: