Xcode Build Error Jenkins:您的会话已过期。请登录

时间:2018-10-11 10:30:37

标签: continuous-integration jenkins-pipeline xcodebuild xcode10 codesign

我正在尝试使用shell命令使用jenkins管道来构建我的应用程序。下面是我用来构建应用程序的命令。

sh 'xcodebuild -workspace projectname.xcworkspace - allowProvisioningUpdates -scheme projectname_UAT -sdk iphoneos - configuration Debug clean build'

以下是我得到控制台的错误。

注意:使用新的构建系统

注意:规划构建

2018-10-11 11:19:36.638 xcodebuild [92399:5181481] DVTPortal:Service''从门户网站('1100')遇到意外的结果代码

2018-10-11 11:19:36.638 xcodebuild [92399:5181481] DVTPortal:错误:

Error Domain = DVTPortalServiceErrorDomain代码= 1100“您的会话已过期。请登录。 UserInfo = {有效载荷= {类型=可变字典,计数= 9,

条目=>

0 : responseId = <CFString 0x7ff48deef220 [0x7fff94b6daf0]>{contents = "40d9ad44-c951-49da-b3f3-b3ea434765a1"}

2 : <CFString 0x7fff94a90b58 [0x7fff94b6daf0]>{contents = "protocolVersion"} = QH65B2

3 : <CFString 0x7ff48dea3420 [0x7fff94b6daf0]>{contents = "requestUrl"} = <CFString 0x7ff48de3d9a0 [0x7fff94b6daf0]>{contents = "https://developerservices2.apple.com/services/QH65B2/viewDeveloper.action"}

6 : <CFString 0x7ff48dec8c30 [0x7fff94b6daf0]>{contents = "userLocale"} = en_US

8 : resultCode = <CFNumber 0x44c37 [0x7fff94b6daf0]>{value = +1100, type = kCFNumberSInt64Type}

9 : userString = <CFString 0x7ff48ded0cc0 [0x7fff94b6daf0]>{contents = "Your session has expired.  Please log in."}

10 : <CFString 0x7ff48dea94d0 [0x7fff94b6daf0]>{contents = "resultString"} = <CFString 0x7ff48de648e0 [0x7fff94b6daf0]>{contents = "authentication.failed"}

11 : httpCode = <CFNumber 0xc837 [0x7fff94b6daf0]>{value = +200, type = kCFNumberSInt64Type}

12 : <CFString 0x7ff48de340f0 [0x7fff94b6daf0]>{contents = "creationTimestamp"} = <CFString 0x7ff48de9a7d0 [0x7fff94b6daf0]>{contents = "2018-10-11T10:19:36Z"}

}

我什至尝试从本地xcode以及我的jenkins安装机器的xcode首选项中删除开发者帐户。我再次添加了它。还从两个地方(本地钥匙串,远程钥匙串)的钥匙串应用程序中删除了已登录的会话,但是似乎没有任何帮助。我正在使用Xcode10,Mac OS Mojave,可能是问题所在,希望能提供任何帮助。谢谢。

4 个答案:

答案 0 :(得分:2)

在专门用于构建一个特定应用程序(适用于iOS和Android)的一个Jenkins build slave上也存在此问题。 Mac在Mojave和Xcode 10.1上运行

该修补程序出现即将登录到Mac,并使用Xcode UI(而不是xcodebuild)导出Jenkins创建的存档。完成此操作后,下一个Jenkins可以顺利通过构建。我说这似乎是因为我没有对詹金斯(Jenkins)的工作或奴隶做任何其他事情,并且在此之前一直失败。似乎很奇怪,但是您有。

在构建其他应用程序的构建从属设备上没有发生此特定问题,但是这些其他从属设备在使用Xcode 10.1时位于High Sierra。自从Apple合并Apple Developer和App Store Connect以来,我们在所有iOS版本上都有其他奇怪的表现。

答案 1 :(得分:2)

这有助于解决Jenkins使用ssh运行从站的问题:

  1. 通过Xcode的首选项删除帐户
  2. 退出Xcode
  3. 在终端中,将首选项设置为不使用钥匙串服务:默认情况下,写入com.apple.dt.Xcode DVTDeveloperAccountUseKeychainService_2 -bool NO
  4. 重新打开Xcode并重新添加帐户

来源:https://forums.developer.apple.com/thread/112606

答案 2 :(得分:1)

我有类似的问题已经有好几个星期了。由于更新到Xcode 10的过程,Jenkins所做的每个方面都会成功,除了我会遇到该错误,并且构建会失败。在Xcode中直接构建,签名等都很好。

我的解决方案是Xcode 10.1更新。您列出的错误仍然存​​在于Jenkins输出中。但是,它不再导致Jenkins失败。

可悲的是,我实际上不知道是什么原因导致了失败,所以我没有进一步的了解。

答案 3 :(得分:0)

对于我而言,出现此错误的原因是因为我在机器上手动更改了团队,并且不小心将更改推到了远程,这导致Jenkins构建失败,但是即使我将团队换回Jenkins仍然失败,经过很大的不同后,我发现CODE_SIGN_IDENTITY文件中的project.pbxproj必须是CODE_SIGN_IDENTITY = "iPhone Distribution";以外的="Apple Development",希望它能有所帮助。

相关问题