CocoaPods 常见问题
产品 / 插件:实时音视频 / 实时语音 / 超低延迟直播
平台 / 框架:iOS / macOS
更新时间:2023-03-01 11:51
1 安装 CocoaPods 的问题
执行 pod --version
检查是否有安装 CocoaPods 并查看版本号。
若出现 command not found: pods
则表示尚未安装 CocoaPods。
打开终端 Terminal( ⌘ + 空格, 输入 Terminal 以打开终端 ),执行:
sudo gem install cocoapods
更多详情请参阅 CocoaPods入门。
若因网络问题无法下载安装 CocoaPods,可考虑使用 Ruby Gems 镜像源:
- 清华 Gems 镜像站: https://mirror.tuna.tsinghua.edu.cn/help/rubygems/
- Ruby China 镜像站: https://gems.ruby-china.com
2 连接不上 trunk CDN 的问题
CocoaPods 自 1.8 版本开始默认使用 trunk CDN (https://cdn.cocoapods.org/) 作为 spec 的源,本意是非常好的,避免了需要本地 clone 一份庞大的 Specs 仓库导致每次 update 都要全量更新的问题。然而国内有可能无法访问这个 trunk CDN。
常见问题:
pod install
时报错CDN: trunk URL couldn't be downloaded
。pod repo update
时报错CDN: trunk Repo update failed
。
以下是几种解决方案。
方案一:使用代理
不管是使用旧版 CocoaPods 还是使用镜像源,都不是最优解,为了充分使用 CocoaPods 的特性,最推荐的还是使用代理来解决无法连接 trunk CDN 的问题。
方案二:使用旧版 CocoaPods
1.7.5 版本的 CocoaPods 默认使用 Specs 作为 repo 源,可以卸载后重新安装旧版 CocoaPods。
- 卸载:
sudo gem uninstall cocoapods
- 安装 CocoaPods 1.7.5:
sudo gem install cocoapods -v 1.7.5
方案三:手动切换使用官方 Git 源/镜像源
不推荐此方案,比较繁琐。
检查当前使用的源
先执行
pod repo list
查看本机的源有哪些,如果存在一个 master 源 (URL: https://github.com/CocoaPods/Specs.git
) 以及一个 trunk 源 (URL: https://cdn.cocoapods.org/
),则无需操作下面的第二步,可直接执行pod repo remove trunk
删除 trunk CDN 源。若使用 1.9.1 或以上版本,应该只存在一个 trunk CDN 源,此时需要手动添加 Git 源。
添加源
-
执行
pod repo add cocoapods https://github.com/CocoaPods/Specs.git
。 添加 清华 CocoaPods 镜像源。
执行
pod repo add tuna https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git
。
-
执行
pod repo update --verbose
。在 iOS 项目根目录下的
Podfile
文件里指定源。若找不到
Podfile
,请先cd
进 iOS 项目的根目录,执行pod init
。往
Podfile
的第一行添加一句source https://xxxxx.git
(其中的 URL 为上一步添加的源的 URL)。例:使用清华源
source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git' target 'MyProject' do use_frameworks! end
如果没有在 Podfile 里指定 source 的话,1.8 版本以上的 CocoaPods 会自动重新添加并使用 trunk CDN 源,因此每个项目的 Podfile 都需要显式指定 source,非常麻烦。
3 pod install
无法找到项目的问题。
执行 pod install
时可能报如下错误:Unable to find a specification for "XXXXXX"
或者 CocoaPods could not find compatible versions for pod "XXXXXX"
以下是几种解决方案。
方案一:更新索引
执行
pod repo update --verbose
更新索引。然后执行
pod update XXXXXX
更新库(XXXXXX
为提示里报错的具体库的名称)。最后执行
pod install
重新安装。
方案二:删除索引文件,重新加载
执行
pod setup
。然后执行
rm ~/Library/Caches/CocoaPods/search_index.json
删除索引文件。最后执行
pod install
重新安装(可能需要较长时间)。