Xcode构建错误Jenkins:您的会话已过期。请登录

问题描述 投票:11回答:3

我正在尝试使用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:服务''从门户网站遇到意外的结果代码('1100')

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

错误域= DVTPortalServiceErrorDomain代码= 1100“您的会话已过期。请登录。” UserInfo = {payload = {type = mutable dict,count = 9,

entries =>

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中的xcode首选项以及我的jenkins安装的机器中删除开发人员帐户。我又重新添加了它。还从两个地方的Keychain App中删除了已登录的会话(本地钥匙串,远程钥匙串)但似乎没有任何帮助我。我正在使用Xcode10,Mac OS Mojave,可能是什么问题,任何帮助表示赞赏。谢谢。

continuous-integration jenkins-pipeline xcodebuild xcode10 codesign
3个回答
2
投票

这个问题也出现在一个Jenkins构建的奴隶上,致力于构建一个特定的应用程序(适用于iOS和Android)。 Mac上有Mojave和Xcode 10.1

修复程序似乎登录到Mac,并使用Xcode UI导出Jenkins创建的存档,而不是xcodebuild。在这样做之后,下一个Jenkins构建时没有问题。我说似乎是因为我没有对詹金斯的工作或奴隶做任何其他事情,而且在那之前它一直没有失败。看起来很奇怪,但你有它。

在构建其他应用程序的构建从服务器上没有发生这个特定问题,但是这些其他从服务器在使用Xcode 10.1时都在High Sierra上。然而,自从Apple合并Apple Developer和App Store Connect以来,我们在所有iOS版本中都有其他奇怪的行为。


2
投票

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

  1. 通过Xcode的首选项删除帐户
  2. 退出Xcode
  3. 在终端中,将首选项设置为不使用keychain服务:defaults write com.apple.dt.Xcode DVTDeveloperAccountUseKeychainService_2 -bool NO
  4. 重新打开Xcode并重新添加帐户

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


1
投票

几个星期我一直有类似的问题。自从更新到Xcode 10后,Jenkins所做的每一个方面都会成功,除非我得到错误并且构建失败。在Xcode中直接建立,签名等都很好。

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

可悲的是,我实际上并不知道导致失败的原因,所以我没有任何进一步的见解。

© www.soinside.com 2019 - 2024. All rights reserved.