从Xcode Bot部署到Crashlytics Beta服务

Mac*_*wic 5 xcode continuous-integration ios crashlytics xcode-bots

我正在尝试使用命令行部署方法在Xcode Server上使用Xcode Bot在后期存档步骤中将iOS Beta测试版上传到Crashlytics(Crashlytics.framework / submit)。

问题在于Crashlytics似乎无法正确签名ipa文件。

根据他们的支持,我需要解锁钥匙串。我尝试了以下操作,但错误仍然存​​在:

  • security unlock-keychain -p the-password /Library/Keychains/System.keychain
  • 通过服务器GUI解锁钥匙串(钥匙串访问)
  • 运行安全性列表钥匙串仅列出/Library/Keychains/System.keychain,并且证书和私钥被导入并存在于该钥匙串中。

错误:

2015-02-04 10:43:06.247 submit Crashlytics: Crashlytics.framework/submit 1.3.1 (11)
2015-02-04 10:43:06.981 submit Crashlytics: Unable to find a certificate with a private key: Error Domain=CLSProvisioningProfileErrorDomain Code=-1 "The operation couldn?t be completed. (CLSProvisioningProfileErrorDomain error -1.)" UserInfo=0x10020e250 {Details=iPhone Distribution: ****** (*****), SourcePath=/var/folders/rk/758w2bp12sq1lh5q5mrj598h000087/T/upload/Payload/our.bundle.id/embedded.mobileprovision}
2015-02-04 10:43:07.002 submit Crashlytics: Failed to prepare the binary for release
Error uploading to Crashlytics
Run Code Online (Sandbox Code Playgroud)

也许问题与Xcode Bot以另一个用户身份运行有关_xsomething

小智 3

我遇到过同样的问题。您应该指向login.keychain. 大多数情况下,您的凭据(证书和私钥)位于您的login.keychain,而不是您的System.keychain. 请记住,钥匙串只是使用凭据加密的文件。您应该告诉后操作运行脚本(Crashlytics/submit执行后)应该使用哪个钥匙串。您可以在此线程上找到更多信息:https://twittercommunity.com/t/problem-submitting-to-crashlytics-beta-from-xcode-server/31703

干杯!