Cocoapods是OSX 和 iOS开发中的第三方库管理工具,类似于Java开发中的Maven。它通过称为“Pods”的依赖库帮我们管理第三方库的版本。
Cocoapods意义体现在两个方面。第一,在引入第三方库时它可以自动为我们完成各种各样的配置,包括配置编译阶段、连接器选项、甚至是ARC环境下的-fno-objc-arc配置等。第二,使用CocoaPods可以很方便地查找新的第三方库,这些类库是比较“标准的”,而不是网上随便找到的,这样可以让我们找到真正好用的类库。
CocoaPods是用Ruby写的,并划分成了若干个Gem包。
安装步骤:
1、升级Ruby。
sudo gem update —system
2、安装Cocoapods。需要采用淘宝的镜像(https://ruby.taobao.org/),绕过GreatWall。
- 打开终端Terminal,输入 sudo -i 切换到root权限
- gem sources –add https://ruby.taobao.org/ –remove https://rubygems.org/ (官方已经停止基于 HTTP 协议的镜像服务, 请在配置中使用 HTTPS 协议代替)
- gem sources -l 出现 表示仅有淘宝镜像可用,不会被被墙的地址干扰。
- gem install cocoapods 耐心等待。
- pod setup
3、安装第三方库
敲入exit命令退出Root权限,使用普通用户继续:
- pod search Alamofire 搜索Alamofire是否在Cocoapods中。如果CocoaPods支持,将会输出搜索到的所有类库版本和信息,以及在Podfile中配置的写法(特别说明,Alamofire的1.x版本只支持Swift1.2,不支持Swift2.0。)
- 创建Podfile文件。cd到工程主目录,然后敲入touch Podfile名称回车。
- 使用vi Podfile打开,粘贴下面内容进入
source ‘https://github.com/CocoaPods/Specs.git’
platform :ios, ‘7.0’
use_frameworks!
pod ‘Alamofire’, ‘~> 1.2.2’
然后**ESC,:wq** 保存。
- 最后pod install。如果长时间没反应,可以加参数,如pod install –no-repo-update,不在安装时更新repo。 –verbose参数可以在命令执行过程中输入调试信息。
如果出现[!] The dependencyAlamofire (~> 1.2.2)
is not used in any concrete target的错误提示,就将Podfile改为:
source ‘https://github.com/CocoaPods/Specs.git’
platform :ios, ‘7.0’
use_frameworks!
target “TargetName” do
pod ‘Alamofire’, ‘~> 1.2.2’
end
TargetName指的是你的工程名。于是最后一次运行pod install –no-repo-update –verbose
终于成功了!
注意:以后打开项目就用 .xcworkspace 打开,而不是之前的.xcodeproj文件。你也许会郁闷,为什么会出现.xcworkspace文件呢。这正是你刚刚运行$ pod install命令产生的新文件。除了这个文件,你会发现还多了另外一个文件“Podfile.lock”和一个文件夹“Pods”。
番外篇:
使用CocoaPods 导入第三方库头文件不自动补齐时解决方法:
选择Target -> Build Settings 菜单,找到/”User Header Search Paths/”设置项
新增一个值”${SRCROOT}”,并且选择/”Recursive/”,这样xcode就会在项目目录中递归搜索文件
自动补齐功能马上就好使了。