1.首先什么是CocoaPods
CocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为“Pods”的依赖库(这些类库必须是CocoaPods本身所支持的),并且可以轻松管理其版本。
Cocoapods意义体现在两个方面。
第一,在引入第三方库时它可以自动为我们完成各种各样的配置,包括配置编译阶段、连接器选项、甚至是ARC环境下的-fno-objc-arc配置等。
第二,使用CocoaPods可以很方便地查找新的第三方库,这些类库是比较“标准的”,而不是网上随便找到的,这样可以让我们找到真正好用的类库。
2.CocoaPods 安装步骤
安装cocosPods的步骤: Xcode->homebrew->RVM->Ruby->CocoaPods
1.首先安装xcode ,然后安装homebrew 具体安装方法请看http://brew.sh/,就一句话复制粘贴到终端运行即可
2.安装RVM 来升级Ruby
a.终端输入rvm -v
查看是否安装
b.安装过就算了,没有安装继续在终端输入 curl -L get.rvm.io | bash -s stable
c.需要稍等一会儿
d.终端依次输入source ~/.bashrc
source ~/.bash_profile
e.查看rvm -v
是否安装成功!
3.首先升级Ruby环境
a.终端输入rvm list
查看ruby的等级,要安装cocosPods ,ruby必须要2.2.2以上(注意一个坑!!,必须要2.3.0,如果输入2.3就会出错)
b. 打开终端 输入rvm list known
,
c.rvm install 2.3.0
//安装一个ruby版本
4.修改Ruby地址
我们更新和下载框架的网站是cocoapods.org,有可能被墙了,淘宝的映像源已经停止维护更新了,需要我们使用最新的源
a. 首先尝试更新
终端输入 sudo gem update --system
b.删除没有用的源,注意淘宝已经停止维护,如果有淘宝的源也要删除
终端输入 gem sources --remove https://rubygems.org/
gem sources --remove https://ruby.taobao.org/
//如果安装了淘宝的镜像
c.加入新的源,现在ruby-china会持续更新维护,他是实时的
gem sources -a https://gems.ruby-china.org/
d.OK, 输入 gem sources -l
查看下地址是否替换成功了,如果显示的下面的就表示成功!
3.开始安装CocoaPods
- 终端输入
sudo gem install cocoapods
红色位置输入密码,回车开始下载,这里不会有任何提示,光标也不会变动,很正常,不要以为输入没反应
开始安装,安装时间可能比较长,安装成功之后的提示如下,
- 然后输入
pod setup
用于安装github 的 master源
3.CocosPods 升级步骤
有时候管理一个基于FMDB的项目类库,会出现下面的错误
$ pod install
[!] The 'master' repo requires CocoaPods 0.32.1 -
需要更新到最新的cocosPods
pod --version
//查看当前的版本
sudo gem update --system
// 先更新gem,国内需要切换源
gem sources -l
//查看是否是正确的源
//下面就是安装步骤,即更新步骤
sudo gem install cocoapods
//安装
pod setup
//再次查看版本
pod --version
4.如果集成到项目中
4.1 集成 没有CocoaPods 管理过的项目(新项目同理)
a.找到项目根目录,例如下图
终端输入 cd ,然后空一格,将上图蓝色的文件直接拖到cd 后面,回车即可
终端输入 ls 查看,子目录是不是对的上,判断自己是否进入文件根目录了
b.确定进入到需要管理的项目的根目录,我们在终端输入
pod init
,开始进行CocoaPods管理,这时会发现,文件中多了一个上图红圈的文件,Podfile文件
[图片上传失败...(image-83cd5e-1525312200069)]
c. 我们使用Xcode 或者 Subline打开Podfile ,用文本编辑器打开有时候有问题,打开如下
[图片上传失败...(image-5d7384-1525312200069)]
d. 在profile输入自己想要输入的内容,举例如下
--> 最简单的写法如下
pod 'Reachability'
--> 指定平台版本的写法
platform :ios
pod 'Reachability', '~> 3.0.0'
pod 'SBJson', '~> 4.0.0'
platform :ios, '7.0'
pod 'AFNetworking', '~> 2.0'
--> 如果是swift版本,如果加入依赖,需要打开,就是去掉#
# Uncomment this line if you're using Swift or would like to use dynamic frameworks
# use_frameworks!
--> 如果profile不想放在根目录,理论上也是可以的,如果这样,我们需要如下书写
//这里指定具体的工程入口文件地址,如果不是在同级目录,这句话不能少!!!!
xcodeproj "/Users/wangzz/Desktop/CocoaPodsTest/CocoaPodsTest.xcodeproj"
platform :ios
pod 'Reachability', '~> 3.0.0'
pod 'SBJson', '~> 4.0.0'
platform :ios, '7.0'
pod 'AFNetworking', '~> 2.0'
--> 如果是多个target 公用 同一套依赖库
link_with 'CocoaPodsTest', 'Second'
platform :ios
pod 'Reachability', '~> 3.0.0'
pod 'SBJson', '~> 4.0.0'
platform :ios, '7.0'
pod 'AFNetworking', '~> 2.0'
具体的语法请参考//www.greatytc.com/p/8af475c4f717
4.2 已经集成,依赖库更新
直接在终端输入 pod update
5.如何找到自己想要的库
- 首先到github 上去搜索看有没有感兴趣的,例如搜索 afn
得到结果会有如下的文字阶段,直接拷贝到profile中
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
target 'TargetName' do
pod 'AFNetworking', '~> 3.0'
end
- 输入 pod search 关键字(英文) ,例如
pod search afnetwork
会搜索出来一堆,看结果
[图片上传失败...(image-c38f68-1525312200069)]
复制 pod 'AFNetworking', '~> 3.0.4'
到 profile 中
5.安装依赖库
如果文件中没有profile.lock (执行完pod install之后,会生成一个Podfile.lock文件。这个文件看起来跟我们关系不大,实际上绝对不应该忽略它,该文件用于保存已经安装的Pods依赖库的版本,鉴于Podfile.lock文件对团队协作如此重要,我们需要将它添加到版本管理中)说明 还没有开始依赖库管理,
我们需要在终端执行 pod install
如果修改了profile 同样需要我们在终端执行 pod install
如果我们并没有写死profile 中的依赖库,也就是说我们没有指定哪个版本的依赖库(后面没有'~> 2.0' 这类),我们可以使用 pod update
来更新, 无论有没有profile.lock profile 都会自动更新到最新
6.参考文献
关于profilehttp://blog.csdn.net/wzzvictory/article/details/19178709
ruby-china的官方https://gems.ruby-china.org/
最新cocosPods的详细解释//www.greatytc.com/p/2ef8a38416c4
这个文档有坑,以本文为准//www.greatytc.com/p/bc23609101f5
如何更新ruby的文章http://blog.csdn.net/luohancc/article/details/46897247
cocosPod 升级方案http://www.cnblogs.com/brycezhang/p/3675670.html