写在前面的话:
0.cocopods的安装需要保证网络环境正常。由于需要访问外服,而某些网络环境又对此进行了限制(乱七八糟的限制,尤其是公司网络),所以在安装过程中会出现很多网络异常导致的错误,让人头大。建议安装者可以连接自己的4g热点进行安装,以降低网络对安装过程的影响。
1.一定要注意,仔细看终端面板输出的内容。出现异常忌烦躁,仔细读面板输出日志
=============================
0.更新gem(如果是较新的可以不用更新)
终端输入
sudo gem update --system
1.查看软件源路径
终端输入
gem sources -l
如果输出是被墙的源地址http://rubygems.org/
则需要执行步骤2,替换软件源地址
2.替换源地址
2.1:准备一个可用的源地址(谷歌搜索)https://gems.ruby-china.com/
2.2:终端输入
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
该命令行的作用是将不可用的源地址移除,同时新增可用的源地址.
另:如果只是想单纯的删除(添加)某个源地址,可以单独执行删除(添加)语句.
如下:
#//仅删除https://ruby.taobao.org/地址,则只需执行如下语句
#//如果想单纯的添加,则仅需将语句中的remove改为add即可
gem sources --remove https://ruby.taobao.org/
3.确认一下源地址是否更换成功
终端再次输入
gem sources -l
结果为只有刚刚替换的源地址,即表示替换成功了。要确保源地址有且仅有一个可用的!
4.安装cocopods
终端输入
sudo gem install cocoapods
或
sudo gem install -n /usr/local/bin cocoapods
终端面板开始进度安装。
5.检查是否安装成功
终端输入
pod --version
若成功,则输出pod对应的版本号信息
6.建立本地索引仓库
终端输入
pod setup
注:首次较慢,本人连接4g热点大约下载了20分钟
如果太慢可自行谷歌其他方案(很多),此处略过。
到此为止cocopods的安装已经完毕,如果项目中已经存在pod文件 但电脑上没有安装环境,到这里就可以使用项目中的pod文件了。
如果是一个没有安装过pod的新项目,接着往下走...
7.在项目中创建pod文件
0.确定工作目录
cd +空格 +拖拽需要使用pods的项目 (保证工作目录正确)
1.创建podfile文件
终端输入
pod init
在项目的根目录下出现一个名字为Podfile的空白文件,即为成功。(不成功可以多尝试几次pod init)
2.自动初始化pod文件(也可以手动初始化,自行探索)
终端输入 pod install
执行成功后,项目根目录下出现后缀为 .xcworkspace 的文件。
3.双击 .xcworkspace后缀的文件,打开项目
查看左侧菜单,在Pods下有一个Podfile, 点击打开该文件。如下图:将第2行的代码解注(去掉前面的#),并将9.0改为自己项目实际需要的最低支持版本号(与Generel 里面的Deploment Target 一致)
到这里pod文件已经创建完毕~可以通过cocopods下载管理第三方库文件了
具体怎么做呢??
请看下面的实例演示...
4.实例演示:将Moya 12.0(一个网络管理库)下载到工程里面
4.1.在podfile里面的第7行处输入三方库的名字及版本号,格式如下图:
4.2.在终端中cd+空格+项目拖拽(保证工作目录正确)
终端输入
pod install
回车
稍等片刻后出现 Pod installation complete! 恭喜你,成功了。
4.3.去项目中检查一下
Pods文件下已经出现了刚下载的Moya(如下图),如果没有及时出现可以关闭Xcode后重现打开就出现了。
至此,cocopods的安装及在项目中的使用已经全部完毕。
5.删除已通过pod安装的文件:
1.在podfile里面删除文件。
2.终端cd到项目后,输入
pod install --verbose --no-repo-update
后记.其他问题:
- ERROR: Failed to build gem native extension.
解决方案:打开文件如下地址,并点击安装.
/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
2.报DNS错误
解决方案:打开项目中的podFile,添加数据源,如下图
source 'https://github.com/CocoaPods/Specs.git'
end