所以背景是这样的:我有一个Xcode项目,该项目依赖于github上一个私有存储库中的swift包。当然,这需要访问密钥。到目前为止,我已经成功配置了CI,以便可以ssh进入实例和git clone
swift软件包所需的存储库。不幸的是,当xcbuild
像CI一样运行它时,它不起作用,并且我收到以下消息:
static:ios distiller$ xcodebuild -showBuildSettings -workspace ./Project.xcworkspace \
-scheme App\ Prod
Resolve Package Graph
Fetching git@github.com:company-uk/ProjectDependency.git
xcodebuild: error: Could not resolve package dependencies:
Authentication failed because the credentials were rejected
相比之下,git clone
将很高兴地获取此仓库,如下所示:
static:ios distiller$ git clone git@github.com:company-uk/ProjectDependency.git
Cloning into 'ProjectDependency'...
Warning: Permanently added the RSA host key for IP address '11.22.33.44' to the list of known hosts.
remote: Enumerating objects: 263, done.
remote: Counting objects: 100% (263/263), done.
remote: Compressing objects: 100% (171/171), done.
remote: Total 1335 (delta 165), reused 174 (delta 86), pack-reused 1072
Receiving objects: 100% (1335/1335), 1.11 MiB | 5.67 MiB/s, done.
Resolving deltas: 100% (681/681), done.
为了获得更多上下文,它在CircleCI上运行,并在GitHub上设置了Deploy密钥,该密钥已添加到CI上的Job中。
关于Xcode尝试获取依赖项的方式与普通git做到这一点之间可能有什么不同的任何建议都很好。谢谢。
我目前在GitHub Actions中遇到与我的CI相同的问题
—
bscothern
这不是一个答案,但有时在过去(尤其是Xcode 10),git身份验证详细信息会无缘无故地消失(在启动时会出现问题,然后是po声)。Xcode 11解决了这个问题。
—
亚历克斯