xcode Swift软件包管理器在解析依赖关系时无法验证

xqkwcwgp  于 2022-11-18  发布在  Swift
关注(0)|答案(1)|浏览(229)

我目前正尝试在新机器上设置工作项目,但在解决通过SPM添加的包依赖关系时遇到了一些问题。我从以前的机器上复制了私有和公共SSH密钥,并在Xcode设置中添加了一个带有个人访问令牌的GitHub帐户。但每当我尝试解析软件包依赖关系时,它几乎会立即失败,并显示错误Authentication failed because the credentials were missing,并显示对话框,询问要将哪个GitHub帐户和SSH密钥我在这台机器上只有一个帐户和ssh密钥对,所以没有其他选项可供选择。
奇怪的是,它只对public仓库这样做,每次我尝试解析依赖关系时都不一样,因为它可以很好地克隆私有仓库(我有读取权限)。这很荒谬,因为运行xcodebuild -resolvePackageDependencies不仅没有产生类似的错误,而且还成功地解析了项目的所有包依赖关系。
我在以前的机器上安装了完全相同的Xcode 13.2.1,也安装了完全相同的RSA密钥。另一件让我抓狂的事情是,在几天前发布的全新Xcode 13.3上没有任何类似的问题。它只是要求我解锁SSH密钥,然后成功地解决了所有依赖关系。不幸的是,我当时无法切换到更新的Xcode版本。所以我现在只能处理这些SPM问题。
到目前为止,我为解决此问题所采取的步骤:

  • 尝试按照GitHub的this指南生成新的SSH密钥;
  • 已尝试对ssh-keygen使用ECDSA算法而不是RSA;
  • 已尝试重置包缓存;
  • 一次又一次地尝试从苹果开发者门户下载相同的Xcode存档;
  • 毕竟试过重启机器。

经过一天的故障排除,我还是无法解决这个问题。我很奇怪,xcodebuild解决软件包时没有任何问题,但解决Xcode的软件包时却会出现身份验证错误。我将感谢任何帮助解决这个难题!谢谢!

gg58donl

gg58donl1#

看起来问题是在我的新机器和Xcode 13.2.1的组合中。正如我在问题中提到的,Xcode 13.3没有这个问题,所以在过去的7个月里,从提出这个问题开始,我没有遇到任何问题与SPM,甚至在较新版本的Xcode。

相关问题