Xcode 11 SPM身份验证失败,因为未提供凭据

时间:2019-09-30 10:22:18

标签: ios swift git

我开始使用Swift软件包管理器,当我使用https(https://github.com/Alamofire/Alamofire.git)添加存储库时,尝试使用github帐户登录时,地址认证总是失败

Xcode authentication fail

但是,如果我使用的是git@github.com:Alamofire / Alamofire.git,它将成功添加。我尝试重新生成新的密钥,删除了.ssh目录,但没有任何办法使https工作,并且由于没有提供凭据错误,我仍然获得xcode身份验证失败。我可以在本地使用ssh网址,但在CI中,我需要一个带有https的网址。

9 个答案:

答案 0 :(得分:6)

这是git config的问题。在.gitconfig文件中,它设置为

url.git@github.com.insteadOf "https://github.com/:

删除此部分后,https正常工作

答案 1 :(得分:4)

在使用Xcode 11.3.1的情况下,我遇到了同样的问题,并且解决了在Xcode上的Github帐户首选项中将de auth方法从HTTPS更改为SSH的问题。

enter image description here

答案 2 :(得分:1)

基于先前的两个答案,我通过执行Abrahanfer的操作(在Clone using中将SSH设置为Xcode Preferences -> Account来解决了这个问题。

然后,我使用了仓库的SSH URL,例如:git@github.com:AppPear/SwiftUI-PullToRefresh.git

答案 3 :(得分:0)

尝试将其删除并再次添加。如果这样不起作用,请从Xcode中删除您的GitHub帐户。通常,通过ssh的git效果更好。您正在使用什么CI?

答案 4 :(得分:0)

您可以使用ssh URL代替https,例如git@github.com:ORG_NAME/REPO_NAME.git

答案 5 :(得分:0)

对我来说,这似乎更像是一条红色的鲱鱼(也许是一位开发人员不小心检查了与项目设置中快速打包有关的这一小变化)。我去了项目设置,将其从“ Swift Packages”下删除。在那之后看起来还可以。

答案 6 :(得分:0)

我在Xcode 12.0.1(12A7300)中仍然遇到此问题。

即使我应用了上面的所有建议,我的GitHub凭据似乎也不起作用。

我修复该问题的方法(至少目前为止)是切换到仅SSH身份验证

答案 7 :(得分:0)

我设法使HTTPS与CI正常工作。具有 bitrise 的解决方案是使用“使用netrc验证主机”,然后Xcode将正确找到私有HTTPS存储库。我相信其他CI平台(或您自己的平台)也可以设置相同的解决方案。

答案 8 :(得分:0)

通过源代码树添加 repo 并通过 Xcode 检出 repo 使用一些其他工具,然后通过 SPM 添加相同的 repo。尝试通过 rsa 密钥算法而不是 ed255189 密钥算法创建 SSH 密钥。 SPM 工具可以轻松地与 rsa 配合使用。 注意:rsa 密钥验证比 ed25519 密钥验证慢。