由于项目是用CocoaPods管理,CocoaPods 1.8将CDN切换为默认的spec repo源,并附带一些增强功能!CDN支持最初是在1.7版本中引入的,最终在1.7.2中完成。 它旨在大大加快初始设置和依赖性分析。
目前项目使用pods的是1.8.4版本
Ribers-Mac:ZNB_Country2.0 Riber$ pod --version
1.8.4
最近使用pods,却出现了一下错误!
[!] CDN: trunk Repo update failed - 17 error(s):
CDN: trunk URL couldn't be downloaded: https://raw.githubusercontent.com/CocoaPods/Specs/master/Specs/1/d/4/CocoaAsyncSocket/0.0.1/CocoaAsyncSocket.podspec.json, error: Operation timed out - SSL_connect
...
按照官方文档 podfile文件中添加source源:
source 'https://github.com/CocoaPods/Specs.git'
podfile文件中添加source源后,pod install
和pod update
可以正常操作,但是pod search
有些库却不正常。
Ribers-Mac:ZNB_Country2.0 Riber$ pod search mj
[!] CDN: trunk Repo update failed - 3 error(s):
CDN: trunk URL couldn't be downloaded: https://raw.githubusercontent.com/CocoaPods/Specs/master/Specs/0/f/b/MJRefresh/0.0.1/MJRefresh.podspec.json, error: Operation timed out - SSL_connect
CDN: trunk URL couldn't be downloaded: https://raw.githubusercontent.com/CocoaPods/Specs/master/Specs/0/f/b/MJRefresh/1.4.4/MJRefresh.podspec.json, error: Operation timed out - SSL_connect
CDN: trunk URL couldn't be downloaded: https://raw.githubusercontent.com/CocoaPods/Specs/master/Specs/0/f/b/MJRefresh/2.4.9/MJRefresh.podspec.json, error: Operation timed out - SSL_connect
Ribers-Mac:ZNB_Country2.0 Riber$ pod search rbtitle
-> RBTitleView (2.0.1)
简单实用的titleView
pod 'RBTitleView', '~> 2.0.1'
- Homepage: https://github.com/RiberWang/RBTitleDemo
- Source: https://github.com/RiberWang/RBTitleDemo.git
- Versions: 2.0.1, 1.0.1, 1.0.0 [master repo]
解决办法:
1. podfile文件中指定source源为master:
source 'https://github.com/CocoaPods/Specs.git'
2.执行pod repo remove trunk
移除trunk源
执行完后,pod search
就都正常了!
Ribers-Mac:ZNB_Country2.0 Riber$ pod repo list
master
- Type: git (master)
- URL: https://github.com/CocoaPods/Specs.git
- Path: /Users/Riber/.cocoapods/repos/master
trunk
- Type: CDN
- URL: https://cdn.cocoapods.org/
- Path: /Users/Riber/.cocoapods/repos/trunk
2 repos
Ribers-Mac:ZNB_Country2.0 Riber$ pod repo remove trunk
Removing spec repo `trunk`
注意:podfile
文件中一定要指定master
源,因为现在默认是trunk
源
source 'https://github.com/CocoaPods/Specs.git'
参考文章:
- 官方说明(英语不好的同志可在谷歌浏览器中打开使用其翻译功能)
- Github Issules
2021.2.4
pod版本1.10.1
cocoapods 新版1.9 新版的 CocoaPods 不允许用pod repo add直接添加master库了,可用清华镜像 repo更新
解决办法:
- 对于旧版的 CocoaPods 可以使用如下方法使用 tuna 的镜像:
pod repo remove master // 移除master源
pod repo add master https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git // 添加清华源
pod repo update // 更新资源库
- 新版的 CocoaPods 不允许用pod repo add直接添加master库了,但是依然可以:
cd ~/.cocoapods/repos // 进入pods资源库
pod repo remove master // 移除master源
git clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git master // 克隆清华源
最后进入自己的工程,在自己工程的podFile第一行加上(也可以不加 执行pod update操作后 会自动加上):
source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git'