iOS中cocoapods的安装与使用
Cocoa Pods
一、简介
CocoaPods是一个开发 OS X 和 iOS应用程序中第三方开源代码的管理工具。
利用 CocoaPods,可以定义自己的依赖关系 (称作 pods),并且随着时间的变化,以 及在整个开发环境中对第三方库的版本管理非常方便
CocoaPods 背后的理念主要体现在两个方面
在工程中引入第三方代码 会涉及到许多内容。针对 Objective-C 初级开发者来说,工程文件的配置会让 人很沮丧
在配置buildphases和linker flags过程中,会引起许多人为因素的 错误
CocoaPods 简化了这一切,它能够自动配置编译选项
二、 CocoaPods的原理
它是将所有的依赖库都放到另一个名为Pods项目中,然后 让主项目依赖Pods项目,这样,源码管理工作都从主项目移到了Pods项目中
1、Pods项目最终会编译成一个名为libPods.a的文件,主项目只需要依赖这个.a 文件即可。
2、对于资源文件,CocoaPods提供了一个名为Pods-resources.sh的bash脚本, 该脚本在每次项目编译的时候都会执行,将第三方库的各种资源文件复制到目标目录中。
3、CocoaPods通过一个名为Pods.xcconfig的文件来在编译时设置所有的依赖和 参数。
三、 CocoaPods安装
+ 更新gem
* sudo gemupdate--system
+ 更新ruby的软件源
* gem sources--removehttps://rubygems.org/
* gem sources -ahttps://ruby.taobao.org/
* gem sources -l
+ 安装CocoaPods
* sudo geminstallcocoapods
+ 替换CocoaPods的镜像索引
* pod repo removemaster
* pod repoaddmasterhttp://git.oschina.net/akuandev/Specs.git
注意:上一步之后要输入oschina的帐号密码的哦。(如果上一步ok了)那下面的一步可以直接跳过。。直接执行update方法
* pod repoaddmasterhttps://gitcafe.com/akuandev/Specs.git
* pod repoupdate
+ 设置 pod 仓库
* pod setup
+ 测试
* pod--version
卸载CocoaPods
sudo gem uninstall cocoapods
CocoaPods使用
四、 使用CocoaPods搜索第三方框架
$pod search AFNetworking
如果CocoaPods支持,将会输出搜索到的所有类库版本和信息,以及在Podfile中配置的写法,终端返回信息如下:
-> AFNetworking (2.3.1)
A delightful iOS and OS X networking framework.
pod ‘AFNetworking‘, ‘~> 2.3.1’(这个语句是需要在编辑Podfile的时候输入的命令,即是如何安装下载相关类库的指令)
- Homepage:https://github.com/AFNetworking/AFNetworking
- Source:https://github.com/AFNetworking/AFNetworking.git
- Versions: 2.3.1, 2.3.0, 2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2.0, 2.1.0,
2.0.3, 2.0.2, 2.0.1, 2.0.0, 2.0.0-RC3, 2.0.0-RC2, 2.0.0-RC1, 1.3.4, 1.3.3,
1.3.2, 1.3.1, 1.3.0, 1.2.1, 1.2.0, 1.1.0, 1.0.1, 1.0, 1.0RC3, 1.0RC2, 1.0RC1,
四、 使用CocoaPods使用第三方框架
使用命令:
$cd /Users/shiyunlei/Desktop/CocoapodsSample(进入工程目录,cd后面的是工程的路径)
$ touch Podfile(创建Podfile文件)
然后使用vim编辑Podfile文件,使用命令:
$ vim Podfile
进入如下界面
然后紧接着按键盘上的“i”键,变成如下状态,这个时候可以对Podfile文件进行编辑:
$platform:ios, ‘7.0‘
$ pod ‘AFNetworking‘, ‘~> 2.3.1‘
在编辑完成后按“esc”,
在按“:”,这个时候输入wq,点击回车,保存并退出。
这个时候打开Podfile文件就会看到里面添加了刚才在终端输入的一行语句,如下图
然后在终端输入命令安装相应的第三方类库
$pod install 如果这个方法不能使用(可能被墙了)一直卡在Updating local specs repositories。。。。。
请用下面的方法:
pod install --verbose --no-repo-update
因为这个过程需要下载相应的类库,所以时间和网速有关。
安装成功之后截图如下:
这个时候会看到之后打开工程都需要从类型为工程名.xcworkspace文件打开。
通过CoreTextDemo.xcworkspace来打开项目,这时,我们的项目工程结构就会变成下图这样,多出一个名为Pods的依赖工程,打开Pods文件夹后,发现AFNetworking已经在里面了,
这时候就可以在项目文件中引入AFNetworking了,这时候如果你发现import的时候没有提示AFNetworking的文件,可以在target- Build Settings下修改“User Header Search Paths”项,新增${SRCROOT}并选择rcursive,如下图。