xcode 9.3会话在每次关闭并重新打开Xcode时到期

时间:2018-04-05 15:11:47

标签: ios xcode macos

我看到我的帐户显示“您的会话已过期。请登录。”在Xcode-> Preferences->每次重新启动Xcode时的帐户,即使我在重新启动之间成功登录。此外,我的命令行xcodebuild失败,因为它说用户会话已过期。

我们尝试删除并重新添加用户,但没有解决问题。我们关闭了双因素身份验证并将其重新打开,但它也没有解决问题,虽然我们看到它允许登录w / o 2-factor auth一段时间,直到我们将其关闭并重新打开,然后它开始再次要求代码。

有没有人见过这种行为?

4 个答案:

答案 0 :(得分:27)

Xcode 9.3现在使用Keychain Access Groups将Apple ID凭证存储在钥匙串中。在启动时,它会尝试将以前版本的Xcode中的任何现有凭据迁移到访问组中。在某些情况下,该迁移似乎失败了。

您可能不需要安装旧版本的Xcode来解决此问题。如果您从Xcode中删除您的帐户;退出Xcode;打开钥匙扣访问;找到并删除任何" Xcode-Token"或" Xcode-AlternateDSID"项;重新启动Xcode;并重新添加您的帐户,然后您的帐户应该在Xcode 9.3中正常运行。

如果您能够复制此问题,我想请求您在bugreport.apple.com上提交错误并附上您机器上的sysdiagnose。

<强>更新

感谢所有提交错误报告的人!我们已经确定了该问题,并对由此造成的不便表示道歉。在此期间,您可以通过设置用户默认值来避免此问题。在终端中,输入以下命令:

defaults write com.apple.dt.Xcode DVTDeveloperAccountUseKeychainService -bool NO

然后,如有必要,重新启动Xcode并在“帐户”偏好设置面板中重新验证您的Apple ID帐户。从那时起,您应该能够退出并重新启动Xcode,而无需每次都重新进行身份验证。

答案 1 :(得分:5)

经过一长串的事情尝试修复此错误(创建新用户,2FA开/关,登录/退出iCloud,恢复钥匙串,从另一台机器上复制用户等)没有成功,我尝试了远射。

鉴于我只在新安装的High Sierra机器上看到这个问题,并且全新安装了最新的Xcode(升级似乎很好),我想知道这个问题是否在以前的版本中可见。

当我在网络上使用Xcode 8.3.3.xip时,我解压缩,安装并启动了。它有相同的过期会话问题所以我再次登录(该过程有点笨重但工作)然后退出Xcode并重新启动。在第二次尝试之后,会话不仅在版本8.3.3中持续存在,而且令我惊讶的是,Xcode版本9.3现在也可以正常工作。

所以我的建议是转到Apple Developer然后登录,然后转到See More Downloads并获取以前的版本并试试。我使用的8.3.3文件可以从那里下载。我没有删除现有的9.3安装,我只是将解压缩的8.3.3版本重命名为备用名称,并且两者都在/ Applications中并排放置,允许我反复启动每个版本进行测试。

答案 2 :(得分:4)

Apple刚刚发布了Xcode 9.3.1,它应该解决这个问题。 从发行说明:

  

修复了导致用户必须使用Apple ID登录的问题   反复。 (39573406)

答案 3 :(得分:1)

因为我的帐户是新用户,所以我不能只添加一个提交来支持@TendrilSix。

上面的

TendrilSix's answer可以解决问题。 如果您遇到同样的问题,只需安装Xcode 8.3.3,然后在Xcode 8.3.3中登录您的开发帐户。

最重要的事情,

如果Apple未来没有解决此问题。不要卸载XCODE 8.3.3。

我们在开发机器上发现,这个问题只发生在曾经同时安装了Xcode 8.x和9.x的mac上。

卸载Xcode 8.3.3后,Dev帐户新登录Xcode 9.x会遇到“你的会话已经过期。请登录。”

如果mac曾经同时安装了8.3.3和9.3。

只有登录8.3.3可用,登录行为将在Keychain中添加17项。包括“Xcode-Token”&amp; “的Xcode-AlternateDSID”

登录9.3只会在Keychain中创建15个项目。缺少“Xcode-Token”&amp; “的Xcode-AlternateDSID”

如果从Xcode 7.x 8.x 9.x升级mac并且从未安装过两个或更多不同版本的Xcode。

登录9.3将在Keychain中创建17个项目,并且开发帐户可以正常工作。