使用TeamCity codesign的Xcode 8 Fastlane构建失败,退出代码为1

时间:2017-06-07 03:38:36

标签: ios teamcity xcode8 macos-sierra codesign

我在macOS Sierra上遇到了一个奇怪的Xcode 8.3.2严重问题。我可以使用fastlane或手动执行命令在构建机器上本地构建应用程序。开发和临时构建都可以在本地创建。

 $ fastlane <lane_name>

但是当从TeamCity尝试相同时,它会抛出以下错误。

 [exec]/usr/bin/codesign --force --sign 5609CEE02FBF256EDBF60DB28C1A2995A2153B5B --entitlements /Users/<username>/Library/Developer/Xcode/DerivedData/<AppName>-frpvxgdtafatrrgbjqbbepgfzvak/Build/Intermediates/ArchiveIntermediates/SabaMeeting/IntermediateBuildFilesPath/<AppName>.build/Release-iphoneos/<AppName>.build/<AppName>.app.xcent --timestamp=none /Users/<username>/Library/Developer/Xcode/DerivedData/<AppName>-frpvxgdtafatrrgbjqbbepgfzvak/Build/Intermediates/ArchiveIntermediates/SabaMeeting/InstallationBuildProductsLocation/Applications/<AppName>.app
 [exec] /Users/<username>/Library/Developer/Xcode/DerivedData/SabaMeeting-frpvxgdtafatrrgbjqbbepgfzvak/Build/Intermediates/ArchiveIntermediates/SabaMeeting/InstallationBuildProductsLocation/Applications/<AppName>.app: unknown error -1=ffffffffffffffff
 [exec] Command /usr/bin/codesign failed with exit code 1
 [exec] 
 [exec] ** ARCHIVE FAILED **
 [exec] 
 [exec] 
 [exec] The following build commands failed:
 [exec]     CodeSign /Users/<username>/Library/Developer/Xcode/DerivedData/SabaMeeting-frpvxgdtafatrrgbjqbbepgfzvak/Build/Intermediates/ArchiveIntermediates/<AppName>/InstallationBuildProductsLocation/Applications/SabaMeeting.app
 [exec] (1 failure)

TeamCity提取代码甚至执行命令但失败了。            构建步骤:命令行使用自定义脚本设置TeamCity。 尝试以下方式但不工作:

  1. Xcode首选项 - &gt;帐户 - &gt;删除已添加的帐户并重新添加
  2. 生成新的分发和开发者证书并安装在KeyChain中。新的配置文件并安装在Xcode中。
  3. 通过“允许所有应用程序访问此项目”验证了对私钥的密钥链访问权限。将证书从登录状态移动到具有访问控制权限的系统。
  4. 重新安装xcode 8.3.2,重启机器。
  5. 已安装Apple全球开发者关系证书颁发机构。
  6. 在应用和派生数据目录中不允许验证资源分叉,查找程序信息或类似碎片。 https://developer.apple.com/library/content/qa/qa1940/_index.html
  7. 该项目不使用CocoaPods。
  8. 尝试清算DerivedData。
  9. 还有更多的研发。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

你的快车上你的车道怎么样?请分享一下......

我的猜测;

3通过“允许所有应用程序访问此项目”验证了对私钥的密钥链访问权限。将证书从登录状态移动到具有访问控制权限的系统。

Teamcity可能无法访问您的证书并失败。

试试这个;

  1. 将证书移回系统登录。
  2. gym或任何fastlane命令构建.ipa之前添加以下内容。这将让teamcity解锁并访问钥匙串。
  3. lane:beta do | options |

      unlock_keychain(path:"login.keychain", password:"yoursystempassword") 
      sh "security set-keychain-settings -t 3600 -l ~/Library/Keychains/login.keychain"   
      gym(scheme: "yourapp", workspace:"probably you dont have a wokrspace so no need")   
    end  
    
相关问题