gpt4 book ai didi

ios - 代理背后的 XCode Swift 包管理器错误

转载 作者:行者123 更新时间:2023-12-05 03:50:09 25 4
gpt4 key购买 nike

我们使用嵌入在 XCode 中的 Swift 包管理器来处理我们项目中的依赖项。在本地机器上使用时一切正常。但是,当我尝试在我们的 ci slaves 上构建项目时,出现以下错误(从 XCode 和控制台运行时):

xcodebuild -resolvePackageDependencies

Resolve Package Graph

Fetching https://github.com/hmlongco/Resolver.git

xcodebuild: error: Could not resolve package dependencies:
An unknown error occurred

在本地运行它和在 ci slave 上运行它的区别在于 ci 机器是在代理后面配置的。我们已经将运行此命令时访问的所有 URL 列入白名单,但问题仍然存在。我找不到关于此错误的任何详细日志。

通过检查我运行命令时发送的网络包,我们仍然可以看到某些应用程序正在尝试访问直接 URL 而不是通过代理,并且此处收到超时。我们只使用 github 上的公共(public)包,不需要任何身份验证。

从另一方面来看,如果项目是使用 Package.swift 以旧方式设置的,我们运行:swift package resolve 依赖成功解决,没有错误。

我已经完成了以下操作,但没有任何有用的解决方案:

Configuration for enterprise networks
XCode proxy settings
SPM in real life projects
Same issue on developer forum
SSH error resolving dependencies - 没有 ssh 依赖

此外,也没有任何文档说明通过 XCode 解析包与使用“swift 包”有何不同。目前我不确定是否可以配置一些东西,以便 XCode 使用 SPM 的代理设置,或者不支持通过代理的 Xcode SPM。有任何想法吗?感谢您的帮助!

最佳答案

根据我刚刚发现的,至少对于 Xcode 12.4,xcodebuild 有 -scmProvider 选项:

-scmProvider  which implementation to use for Git operations (system/xcode)

如果我猜对了,-scmProvider system 会强制 xcodebuild 使用“system”git。反过来,在我的例子中,它尊重我拥有的 git 配置设置,尤其是代理。

因此,回答最初的问题,可能值得一试

xcodebuild -resolvePackageDependencies -scmProvider system

(只要正确设置 Git 配置)

关于ios - 代理背后的 XCode Swift 包管理器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63605683/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com