解决swift package manager fetch慢的问题

想必搜索这个问题的人肯定是等了好久好久然后发现始终拉不下来,没错,我也是。无奈之下只能疯狂找解决方法,一开始在官方论坛里找到了一种解决方法,无用,最后只能自己去尝试解决。
在此分享一下我的方法。

方法0⃣️

updated at 2022/8/24

直接上代码,在终端中直接在项目根目录输入xcodebuild -resolvePackageDependencies -scmProvider system即可构建依赖。

方法一

来自swift论坛里都某个大佬的方法(反正我失败了,说不定对你们有用我就先列出来)
前提: 你有一个代理

因为直接打开Xcode是不会走代理的。

所以你需要现退出Xcode,然后在命令行里输入

open -a Xcode.app

保险起见你还可以在这之前加一句

export ALL_PROXY=http://127.0.0.1:8001

端口号按照自己的设置而定。

这样Xcode就能走代理了。

方法二(仅适用于package,不适用于project)

终端进入项目(是你的项目根目录,这个时候不要进入下图的DerivedData),运行swift package resolve.

完成后则在该目录下的.build文件夹下会出现若干文件。

resolve完了之后,在进行接下来的操作

查看Xcode设置中DerivedData设置在哪里,拷贝上述.build文件夹下的所有文件到这个SourcePackages底下,重新打开项目即可。

Xcode设置

进入repositories文件夹

方法三

2020.11.1更

最近摸索出来的新方法,比方法二更简单,其实swift package manager也是从GitHub上拉取下来的。所以,只要解决本机访问GitHub资源的速度,速度就会有所提升。

而提升GitHub速度的方法,百度上也有很多。以下直接放出精简版。

  1. 访问http://tool.chinaz.com/dns/

  2. 输入GitHub相关url, 比如:github.com avatars1.githubusercontent.com avatars2.githubusercontent.com avatars3.githubusercontent.com avatars4.githubusercontent.com raw.githubusercontent.com github.githubassets.com 等等

  3. 查看查询返回的结果,如图:


  4. 对所列出的ip进行速度测试,比如打开终端输入ping xxx.xxx.xxx.xxx,找延迟最小的那个(那些ping了无响应就别选了)。

  5. 打开终端,输入 sudo nano /etc/hosts/

  6. 在文件尾部添加找到的延迟最小的ip + url,格式按照hosts里前面几行的格式就好了。



    比如我添加下来的样子是长这个样的:


    自己去ping,不要照着我的来填
  7. 依次按下ctrl+xy回车键完成保存。

搞定

方法四

在路由器上配置代理或者换一个能够配置代理的路由器。原罪就是Xcode并不能走代理,即使开全局模式都不行,因此如果能在路由器上配置了代理,那么Xcode的swift package manager就很快。

你可能感兴趣的:(解决swift package manager fetch慢的问题)