一、CocoaPods是什么?
CocoaPods是一个负责管理iOS项目中第三方开源库的工具。CocoaPods的项目源码在Github上管理。该项目开始于2011年8月12日,在这两年的时间里,他持续保持活跃。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省上设置个更新第三方开源库的时间。有了CocoaPods这个工具以后,只需要将用到的第三方开源库放到一个名为Podfile的文件中,然后执行 pod install 命令。CocoaPods就会自动的将这些第三方开源库的源码下载下来,并且自动配置相应的系统依赖和编译参数
二、CocoaPods的下载和安装
mac系统本省已经安装好了Ruby环境,如果不确定自己系统是否有Ruby,或者想知道什么版本的,可以在终端中输入命令:ruby -v 来查看当前ruby的版本。如图
确定以后,接下来就可以下载和安装CocoaPods,首先需要修改Ruby的镜像,使用阿里云镜像来替换默认的,默认的镜像是不能够访问到cocoapods(原因是那堵墙的存在)
1)检查你的ruby镜像,在终端输入:
gem sources -l
默认情况先会出现如下信息:
*** CURRENT SOURCES ***
https://rubygems.org/
2)删除现在的镜像,在终端输入:
gem sources --remove https://rubygems.org/
执行后再终端会看到:
https://rubygems.org/ removed from sources
3)添加阿里云镜像,在终端输入:
gem sources -a http://rubygems-china.oss.aliyuncs.com
此时如果一切正常,在此执行:gem sources -l 命令,就只会看到阿里云这一个镜像了,修改完镜像就可以下载了,在终端输入命令:
sudo gem install cocoapods
一段时间后,如果一切正常,你应该会看到一段安装进度,以及最后一天信息是:gems installed
看到这条信息说明已经安装成功,接下来需要测试是否可以使用,可以用cocoapods的搜索功能验证一下,在终端输入命令:
pod search AFNetworking;
执行后可能会一直停留在 Setting up CocoaPods master repo然后(很久)会出现如下错误:
解决办法:需要更新pod,下载他的一些依赖包,在终端输入:
pod setup
过了一段时间如果还是会出现上面同样的红色信息继续下面的操作:
出现红色信息的原因:1)gem版本太低;2)github无法连接;3).cocoapods目录下的配置信息错误。我们需要一个一个排除
首先更新gem版本,在终端输入:
sudo gem update --system
然后减产是否可以连接github,在终端输入:
ping github.com
然后在终端输入:
pod repo list
说明CocoaPods在将它的信息下载到~/.cocoapods里,在终端输入:
cd ~/.cocoapods
然后输入:du -sh *
结果如果显示:0 repos,说明没有安装成功
重新在终端输入:pod setup 命令,过一段时间出现 setup completed 说明安装成功,在终端输入 pod list 可以展示安装列表,再次输入搜索命令:
pod search AFNetworking
输入后可能会报如下图的错误:
解决办法: 在终端输入:
rm ~/Library/Caches/CococPods/search_index.json
然后再次输入: pod search AFNetworking
总算大功告成!
三、CocoaPods的使用
1)来到项目文件,在终端输入: cd 项目文件位置
2)添加podfile文件,在终端输入:
vim podfile
按 i 进入插入模式,进行编辑,在文件中输入一下内容
platform::ios,'8.2' // 8.2为你当前xcode版本
target '你的项目名称' do // '你的项目名称' 是你的项目文件中 'xx.xcodeproj' 文件, 'xx' 就是'你的项目名称'
pod 'AFNetworking','~>3.0' //版本号可以通过搜索的方法,确定最新的版本号,例如在终端你输入:pod search AFNetworking
end
输入完成后按ESC键退出编辑模式,然后输入 :wq 保存退出文件,此时项目目录下多了一个 podfile 的文件,应该是和.xcodeproj在同一目录下。
最后,在终端输入:
pod install
没有报错就成功了,此时会变成下图所示的项目文件结构,再次打开项目时点击xx.xcworkspace 打开项目