CocoaPods是一个负责管理iOS项目中第三方开源库的工具。CocoaPods的项目源码在Github上管理。该项目开始于2011年8月12日,在这两年多的时间里,它持续保持活跃更新。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得咱们能够节省设置和更新第三方开源库的时间ios
在咱们有了CocoaPods这个工具以后,只须要将用到的第三方开源库放到一个名为Podfile的文件中,而后在命令行执行$ pod install
命令。CocoaPods就会自动将这些第三方开源库的源码下载下来,而且为个人工程设置好相应的系统依赖和编译参数c++
安装的方式很是简单,Mac下已经自带了ruby,只要使用ruby的gem命令就能够安装了。打开的Mac的终端,在终端运行下面的命令:git
1
2 |
$ [sudo] gem install cocoapods $ pod setup |
说明:执行$ pod setup
这步可能比较慢,须要多等待一段时间,也多是我网络的问题github
固然咱们也能够更新咱们的CocoaPods,一样也是使用ruby的gem命令:web
1
|
$ [sudo] gem update cocoapods |
然而你也能够更新CocoaPods的预览版,执行下面的命令:vim
1
|
$ [sudo] gem update cocoapods --pre |
若是咱们不知道cocoaPods管理的库中,是否有你想要的库,那么你能够经过$ pod search xxx
命令进行查找,如下是我用$ pod search sdwebimage
查找到的全部可用的库:xcode
1
2 3 4 5 6 7 8 9 10 11 12 |
-> SDWebImage (3.5.1) Asynchronous image downloader with cache support with an UIImageView category. pod 'SDWebImage', '~> 3.5.1' - Homepage: https://github.com/rs/SDWebImage - Source: https://github.com/rs/SDWebImage.git - Versions: 3.5.1, 3.5, 3.4, 3.3, 3.2, 3.1, 3.0, 2.7.4, 2.7, 2.6, 2.5, 2.4 [master repo] - Sub specs: - SDWebImage/Core (3.5.1) - SDWebImage/MapKit (3.5.1) - SDWebImage/WebP (3.5.1) |
注:我省略了两个库,没有全列出。ruby
假设个人Desktop上有一个已经存在的一个项目名称叫作:CocoaPodsTest,首先,进入项目的根目录,并在根目录下建立一个名叫Podfile的文件(没有任何后缀):网络
1
2 |
$ cd Desktop/CocoaPodsTest/ '进入项目根目录,根据本身项目实际目录' $ vim Podfile '建立Podfile文件,你能够选择你本身喜欢的编辑器' |
注:vim的简单用法,$ vim fileName
建立文件fileName,并打开;按i
进入插入模式,输入文本;按esc
进入命令模式后,按:wq
或ZZ
退出并保存。编辑器
而后,在Podfile文件中按如下的格式将依赖库的名字列出:
1
2 3 |
platform :ios, '6.0' '平台、版本' pod 'SDWebImage', '~> 3.5.1' '开源库名称、版本' pod 'AFNetworking', '~> 2.0.3' '开源库名称、版本' |
保存Podfile文件后,执行以下安装的命令:
1
|
$ pod install |
当安装命令执行成功后,会输出:
1
2 3 4 5 6 7 |
Analyzing dependencies Downloading dependencies Installing AFNetworking (2.0.3) Installing SDWebImage (3.5.1) Generating Pods project Integrating client project [!] From now on use `CocoaPodsTest.xcworkspace`. |
哈哈,看到相似这样的输出就是成功了。你所须要的第三方开源库都下载好了,而且设置好了相应的依赖以及编译参数。在咱们之后用的时候必定要记住如下两点:
1. 最后一行是一个警告,提醒咱们须要注意:从如今开始,须要经过xxx.xcworkspace
打开的咱们的项目。而不是以前咱们一直用的xxx.xcodeproj
2. 当咱们每次修改了Podfile
这个文件后,必定要记得执行命令:$ pod install
,还能够执行$ pod update
来更新类库