解决 Xcode 中 Swift Package Manager加载不出来、下载慢、拉取失败的问题

解决 Xcode 中 Swift Package Manager加载不出来、下载慢、拉取失败的问题
Swift Package Manager 加速方式

Swift Package Manager(SPM)是Swift 语言的官方依赖管理工具,它主要是用于管理Swift项目所需的依赖库。从 Swift 3.0 开始集成使用,Swift Package Manager 使用 Git 管理依赖的分发机制。


为什么会加载慢、加载失败

因为本地环境到需引入的依赖库地址网络不通畅:GitHub,只需要解决这个网络问题就解决加载不出来、下载慢、拉取失败的问题。


解决方式

解决网络不通畅的问题可以有两个方向

第一类 (科学上网代理)

方式一

路由器级别科学上网,最省心却也门槛最高,这个方式不多做介绍。


方式二

在终端启用代理后,使用命令调用 XcodeSPM 执行更新

  1. 打开终端,给当前终端会话设置代理环境,命令如下
export https_proxy=http://127.0.0.1:7890
export http_proxy=http://127.0.0.1:7890
export all_proxy=socks5://127.0.0.1:7890

2. 继续在当前终端中使用 xcodebuild 命令来解析和更新 Swift Package依赖关系

xcodebuild -resolvePackageDependencies

方式三

使用 Proxifier 软件强制使用 Xcode 使用系统代理,从而使Swift Package Manager 也使用科学上网代理顺畅的访问 GitHub 资源。


第二类 (使用镜像仓库或github加速服务)

方式四

使用国内的Git 服务平台或者自建 Git ,自建可以选择使用 gogs 搭建,它可以直接镜像指定的仓库、定时同步更新,使用方便,只需要把依赖库的域名改成指定域名即可。

我们也自建了一个内部使用的 gogs ,本站会员可以免费使用它拉取 SPM 的依赖库

方式五

使用公益的 GitHub 加速服务,可以安装油猴脚本:Github 增强 ,在依赖库的克隆代码位置能看到它提供的加速服务清单,以下列举几个测试可用的加速域名,把 github.com 域名替换掉即可。

  • gitclone.com
  • hub.fgit.gq
  • hub.fgit.ml
  • kgithub.com
  • github.moeyy.xyz
  • ghproxy.com
  • hub.njuu.cf
  • hub.yzuu.cf

总结

如果有科学上网环境,推荐方式三

没有科学上网环境,个人项目临时使用推荐方式五

我现在的是使用方式四,一年多下来速度快且稳定

  本文自 https://www.codeun.com 发布,相应代码均自主编写并严格审阅和测试,完整代码中包含丰富的学习笔记和使用方式、实用技巧。
  · 如若转载,请注明出处:https://www.codeun.com/archives/1004.html ·

(3)
上一篇 2023-03-31 下午11:30
下一篇 2023-04-07 上午10:36

相关推荐

发表回复

登录后才能评论

评论列表(1条)