CocoaPods安装和使用并遇到的坑
写在前面
因换了一台新电脑需重新安装CocoaPods
.
本人电脑系统版本为:macOS Big Sur
版本 11.2.3
.
Xcode
版本为:Version 12.4
.
一. 先把ruby源搞定
安装CocoaPods
,需要ruby
环境,然而Mac
系统默认会安装好ruby
环境.打开Mac
终端输入:
gem sources -l //查看ruby源
默认情况下:会显示
https://rubygems.org/
ruby
源在墙内是访问不到的,需要置换为国内,原来一直用的是淘宝的,由于淘宝源不再更新,所以不在使用,现在用下面这个
//删除原始的源
gem sources --remove https://rubygems.org/
//添加新源(国内Ruby镜像)
gem source -a https://gems.ruby-china.com
只有在终端中出现下面文字才表明你上面的命令是成功的:
https://gems.ruby-china.com added to sources
为了验证你的Ruby
镜像是并且仅是gems.ruby-china
,可以用以下命令查看:
gem sources -l //检测是否成功
只有在终端中出现下面文字才表明你上面的命令是成功的:
https://gems.ruby-china.com
二. 升级Gem
Gem
是来管理Ruby
标准包.
sudo gem update --system //升级gem
目前查看gem
版本为
gem -v //查看版本
3.2.9
不升级在下面步骤可能会报很多错误的,因为Gem
版本太低,无法安装CocoaPods
.
三. 安装CocoaPods
sudo gem install -n /usr/local/bin cocoapods
查看版本:如果有版本号,则说明已经安装成功
pod --version //目前我的版本号为:1.10.1
成功后,输入
pod setup //这条命令是将Github上的开源库都托管都安装Podspec索引安装到到本地
检测是否安装成功:可以利用搜索AFNetworking
来检测是否能搜索到
检测结果:
pod search AFNetworking
Creating search index for spec repo 'master'.. Done!
第一次会出现上面的 Creating search index for spec repo 'master'..
等到 出现 Done
后 就会出现我们搜索的结果,再次输入命令就不会出现这行代码了,直接就能搜索了
假如 pod search AFNetworking
竟然不好使了,报以下错误
[!] CDN: trunk - Cannot perform full-text search because Algolia returned an error: 0: Cannot reach any host: execution expired, execution expired, execution expired, execution expired
可以用终端执行命令 pod repo remove trunk
恢复正常,完美,可以搜索了.
到此就代表 CocoaPods
真正安装成功!
四. 利用cocoapods来安装第三方框架
-
1.进入要安装框架的项目的
.xcodeproj
同级文件夹 -
2.在该文件夹中新建一个文件
Podfile
, 执行如下命令pod init 或者 touch Podfile
在文件中输入自己需要的第三方项目库,我们以
AFNetworking
为例platform :ios, '9.0' target 'MyApp' do pod 'AFNetworking', '~> 4.0.1' end
解释:
-
platform : ios, '9.0'
代表当前AFNetworking
支持的iOS最低版本是iOS 9.0
, -
MyApp
就是你自己的工程名字, -
pod 'AFNetworking', '~> 4.0.1'
代表要下载的AFNetworking
版本是4.0.1
及以上版本,还可以去掉后面的'~> 4.0.1'
,直接写pod 'AFNetworking'
,这样代表下载的AFNetworking
是最新版.
-
-
3.执行pod,终端输入 pod install
pod install
-
4.导入第三方库
--no-repo-update :
不更新仓库,迅速加载第三方框架pod install --no-repo-update pod update --no-repo-update
-
5.
CocoaPods
中删除不需要的第三方库- 打开
Podfile
, 找到不需要的类库, 直接删除该类库信息
比如要删除SDWebImage
库 ,直接去Podfile
中pod 'SDWebImage',’~> 4.0.0'
- 打开终端
cd
到当前项目的根目录下重新执行
pod update --no-repo-update
- 更新完成就删除成功
- 打开
五. 跳过pod setup快速安装
在网络不允许的情况下,执行pod setup
这一步, 感觉很慢.....
前面说了,pod setup
这条命令是将Github
上的开源库都托管都安装Podspec
索引安装到到本地. 简单说就是下载一个包,到本地,也就是这个东西
如果你同事电脑上有安装好,你其实可以从你同事电脑上拷贝过来,直接放到该路径就OK了.
如果你身边没有装好的CocoaPods
的朋友,可以访问这个链接
https://github.com/CocoaPods/Specs (github所有的第三方开源库的Podspec文件都托管在这里,这也是你pod setup所要下载的).
选择Download ZIP.
解压后为这个样子
对比上图,Specs-master
改名为master
放在 ~/.cocoapods/repos
路径即可.
~/.cocoapods/repos
这个路径是在执行 pod setup
生成的,所以电脑无法前往此路径是,建议先pod setup
下,然后关闭掉即可生成路径.
写在后面
最后和谐学习,不急不躁.我还是我,颜色不一样的烟火.