一、概要
iOS开发时,项目中会引用许多第三方库,CocoaPods(https://github.com/CocoaPods/CocoaPods) 可以用来方便的统一管理这些第三方库。CocoaPods是iOS项目的依赖管理工具,该项目源码在Github上管理。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和第三方开源库的时间。 在使用CocoaPods之前,开发项目需要用到第三方开源库的时候,我们需要
1.把开源库的源代码复制到项目中
2.添加一些依赖框架和动态库
3.设置-ObjC,-fno-objc-arc等参数
4.管理他们的更新
在使用CocoaPods后,我们只需要把用到的开源库放到一个名为Podfile的文件中,然后执行pod install.Cocoapods就会自动将这些第三方开源库的源码下载下来,并且为我们的工程设置好响应的系统依赖和编译参数。
CocoaPods的原理是将所有的依赖库都放到另一个名为Pods的项目中,然后让主项目依赖Pods项目,这样,源码管理工作都从主项目移到了Pods项目中。Pods项目最终会编译成一个名为libPods.a的文件,主项目只需要依赖这个.a文件即可。
二、安装CocoaPods
1.首先检查一下ruby的版本,当然Xcode5以上自带ruby环境,不用我们在安装,如果不是最新系统最好更新一下,
在终端中运行如下命令:
$ gem update--system
2.因为墙阻挡了cocoapods.org,所以我们需要更换Ruby镜像
运行如下命令:
1$ gem sources--remove https://rubygems.org/
2//等有反应之后再敲入以下命令
3$ gem sources -ahttps://ruby.taobao.org/
验证Ruby镜像中仅有taobao,在终端中运行如下命令:
1$ gem sources-l
当终端中出现如下内容时证明已经成功更换
*** CURRENT SOURCES ***http://ruby.taobao.org/
3.如果gem太老,可以用如下命令升级gem:
sudo gem update —system//由于sudo超级权限,所以会填用户密码
这时候,你再次在终端中运行:
$ sudo gem install cocoapods//由于sudo超级权限,所以会填用户密码
等上十几秒钟,CocoaPods就可以在你本地下载并且安装好了,不再需要其他设置。
最近把mac系统升级到10.11系统,但是在用pod install命令的时候,却提示command not found.后来上网查了下才知道,Cocoapods在10.11系统上发生了变化。若遇到如下问题
为了解决上面提到的问题,以及Cocoapods在OS X 10.11系统上的正常使用,我们需要在命令行输入这样一句话,
$sudo gem install -n /usr/local/bin cocoapods
这样就能解决Cocoapods在10.11系统上出现的问题了
4.查看下载进度
Cocoapods在将它的信息下载到~/.cocoapods目录下,如果你等太久,可以试着cd到那个目录,用du -sh *来查看下载进度。
pod setup
pod setup在执行时,会输出Setting up CocoaPods master repo
安装好后,会出现"Setup completed"
三、使用CocoaPods
1.创建一个新工程,然后cd到工程所在的文件夹。
可以在cd的时候把工程所在的文件夹拖到终端里,就能得到文件夹的路径。在终端输入cd 工程路径(cd空格输入完 直接把工程文件夹拖进终端,就直接显示路径了)回车
2.在刚才的文件夹中创建文件Podfile(如果存在就直接打开,不存在时创建)
运行如下命令:
步骤一:
方法:$ vim Podfile
方法:$ pod init
步骤二:
我们以AFNetworking为例,在Podfile文件中输入
platform :ios, ‘7.0’
pod “AFNetworking”, “~> 2.0”
其实,
platform :ios
pod 'AFNetworking'
这样子就可以了.会自动最新的稳定版本.
然后按ESC键,再输入 :wq 保存退出
如果报错E45: ‘readonly’ option is set (add ! to override)则输入 :wq!
注意,Podfile文件应该和你的工程文件.xcodeproj在同一个目录下。
3.往项目中导入CocoaPods
在终端的当前项目目录下运行如下命令:
$pod install
等终端有反应后,打开项目所在的文件夹,把.xcworkspace 打开,而不是之前的.xcodeproj文件。
4.头文件路径
如果想在项目中使用导入的第三方库,还需要在项目的target中设置一下,target->Build Settings -> User Header Search Paths 选项中输入${SRCROOT},后面选上recursive。
OK. 这就完成了。
5.添加其他第三方库
按照这个格式添加:
pod ‘RegexKitLite’, ‘~> 4.0’
pod ‘ASIHTTPRequest’, ‘~> 1.8.2’
pod ‘SDWebImage’, ‘~> 3.7.1’
然后运行命令
$pod update
——在文件中删除cocoapods,在工程中直接删除下列文件: