CocoaPods 是什么?
- CocoaPods 是开发 OS X 和 iOS 应用程序的一个第三方库的依赖管理工具。利用 CocoaPods,可以定义自己的依赖关系 (称作 pods),并且随着时间的变化,以 及在整个开发环境中对第三方库的版本管理非常方便
CocoaPods 背后的理念主要体现在两个方面
- 在工程中引入第三方代码 会涉及到许多内容。针对 Objective-C 初级开发者来说,工程文件的配置会让 人很沮丧
- 在配置buildphases和linker flags过程中,会引起许多人为因素的 错误
- CocoaPods 简化了这一切,它能够自动配置编译选项
CocoaPods的原理
- 它是将所有的依赖库都放到另一个名为Pods项目中,然后 让主项目依赖Pods项目,这样,源码管理工作都从主项目移到了Pods项目中
- Pods项目最终会编译成一个名为libPods.a的文件,主项目只需要依赖这个.a 文件即可。
- 对于资源文件,CocoaPods提供了一个名为Pods-resources.sh的bash脚本, 该脚本在每次项目编译的时候都会执行,将第三方库的各种资源文件复制到目 标目录中。
- CocoaPods通过一个名为Pods.xcconfig的文件来在编译时设置所有的依赖和 参数。
重点来了CocoaPods安装
PS: Xcode8.1是需要把gem升级到最新才能使用国内的源so
1.升级最新ruby
- 从ruby官网下载源码:点这里
- 解压刚下载的包
- 进入终端,输入命令cd 到刚才的文件夹下面
- 然后依次输入下面命令进行安装
$ ./configure
$ make
$ sudo make install```
####2.再次更新gem
终端命令:`$ sudo gem update --system`
####3.更新ruby的软件源
* 删除原有源`$ gem sources --remove https://rubygems.org/`
* 添加新的源`$ gem sources -a http://ruby.taobao.org/`
PS:Mac10.10以上系统的用 https协议 哈哈...搞了我半天
* 查看源是否更新`$ gem sources -l`显示新的源就OK了
####4.安装CocoaPods
执行:`$ sudo gem install cocoapods --pre`漫长等待过后...有些人成功了!嘿嘿..如果失败..换个姿势..很有可能是网络原因.(PS:如果报错复制错误上百度.google)
####5.接下来替换CocoaPods的镜像索引
PS:这一步只是为了每次更新仓库能快一点..如果不介意可以跳过,并且镜像有可能挂了.所以替换的镜像可以自己去重找
* 干掉master执行`$ pod repo remove master`
* 添加镜像执行`$ pod repo add master https://coding.net/u/lijy91/p/Specs/git`
* 更新仓库执行`$ pod repo update`
####6.仓库设置
* 设置pod仓库`pod setup`这一步比较耗时请耐心等待
* 最后查看你的pod版本了`$ pod --version`
==================
###CocoaPods的使用
* 创建Xcode项目,cd进入此项目的.xcodeproj文件所在目录下
* 创建Podfile文件,执行命令`$ pod init`会生成如图1文件
![图 1](http://upload-images.jianshu.io/upload_images/2990730-0c30931973b2e4e6.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
* 编辑Podfile文件如图2
比如我们需要用到AFNetworking这个框架
![图 2](http://upload-images.jianshu.io/upload_images/2990730-5fb9d8566466c85e.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
当然还有一种写法,比如我需要指定框架版本为1.0`pod 'AFNetworking’,’~>1.0'`
PS:注意,Podfile文件里面#后面的大串英语都是注释,所以看它不爽完全可以干掉..最简单的Podfile文件可以这样写
>target 'test' do
pod 'AFNetworking'
end
* 然后执行命令`pod install --no-repo-update`输出图3
![图 3](http://upload-images.jianshu.io/upload_images/2990730-73680c0478a8c2c4.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
* 接下来打开.xcworkspace的工作空间!一切搞定!
###CocoaPods插件篇
PS:如果你觉得用CocoaPods的命令来操作比较麻烦.那么没关系.我们可以用插件.本文不详细讲解插件的安装,我在简书上有过一篇完美解决Xcode8.1的插件文章[<找回Xcode8.1消失的插件>](http://www.jianshu.com/p/5ffd2d8f00db)
* 你需要一个Alcatraz(插件管理工具)然后安装CocoaPods插件
![图 4](http://upload-images.jianshu.io/upload_images/2990730-cbaa1a5b70e8e7a2.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
* 重启Xcode.选择Load Bundle
* 然后你的Xcode就多了一个功能!开心吧.进入一个工程
* 在Product-->CocoaPods-->Creat/Edit Podfile
![图 5](http://upload-images.jianshu.io/upload_images/2990730-a40c06852559283f.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
* 编辑你的PodFile吧!是不是很爽
![图 6](http://upload-images.jianshu.io/upload_images/2990730-b2c01e753453f919.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
* 保存退出然后 Product->CocoaPods->Install Pods 第一次用install安装,今后就选择Update Pods
![图 7](http://upload-images.jianshu.io/upload_images/2990730-596a7d2b19924dda.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
PS :图像化界面让工作效率更高!!
###关于有可能出现的问题
>如果cocoaPath导入库失败.. 那么欢一个GEM PATH路径
cocoapods安装命令: $ sudo gem install -n /usr/local/bin cocoapods
>那么在Xcode的cocoapods插件的GEM_PATH里写入
/usr/local/bin 即可