一、概念:
CocoaPods:
它是一个用来帮组我们管理第三方依赖库的工具。它可以解决库与库之间的依赖关系,下载第三方库的源代码,同时会自动创建一个Xcode工程的WorkSpace来将要下载添加的第三方库与自己的项目工程连接起来,供我们开发使用。
CocoaPods的目的:让我们能自动化,集中,直观的管理第三方开源库。避免了使用第三方的开源库(SBJson、AFNetworking、Reachability等等)的过程中,如下繁琐的操作过程:
- 下载开源库的源代码并引入工程
- 向工程中添加开源库使用到的framework
- 解决开源库和开源库以及开源库和工程之间的依赖关系、检查重复添加的framework等问题
- 如果开源库有更新的时候,还需要将工程中使用的开源库删除,重新执行前面的三个步骤。。。
安装CocoaPods以后,这些繁杂的工作就不再需要我们亲力亲为了,只需要我们做好少量的配置工作,CocoaPods会自动为我们做好一切!
二、安装CocoaPods
CocoaPods是用Ruby实现的,要想使用它所以首先需要安装Ruby环境,Mac的OS X系统默认的已经可以运行Ruby了,可以先在终端输入命令检查一下,如果没有再安装Ruby环境,确保Ruby环境安装好的前提下再安装CocoaPods.
1、检查Ruby环境:ruby -v
2、安装CocoaPods(安装好Ruby环境的前提下):sudo gem install cocoapods
CocoaPods是以Ruby gem 包的形式被安装的,在安装执行的过程中可能会问我们是不是更新rake,输入y即可。这是因为rake gem包会在安装的过程中检查更新,如果有可用的新版本就会出现刚才的选项。
3、执行:pod setup
如果没有报错,就说明一切安装成功了;这个过程需要一些时间。
安装过程可能遇到的一些问题:
1) 如果是系统默认的Ruby环境,没有重新安装,执行完install命令可能会很久也没有反应;这是因为Ruby默认使用的镜像源是cocoaPods.org,国内访问这个网址有时候会有问题,网上的一种解决方案是将镜像源替换成淘宝的,替换方式如下:
gem sources --remove http://rubygems.org/
gem sources -a http:ruby.taobao.org/
想验证是否成功的话
输入命令:gem source -l
正常输出结果:
CURRENT SOURCES
http://ruby.taobao.org/
2)gem版本可能过老
gem是管理Ruby库和程序的标准包,如果它的版本过低也可能导致安装失败,解决的办法是更新gem版本,执行如下命令:
sudo gem update --system
3)安装完成后,执行pod setup报错
- /Users/tomisoft/.rvm/rubies/ruby-2.2.0-p448/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:298:in `to_specs': Could not find 'cocoapods' (>= 0) among 6 total gem(s) (Gem::LoadError)
- from /Users/tomisoft/.rvm/rubies/ruby-2.2.0-p448/lib/ruby/site_ruby/2.2.0/rubygems/dependency.rb:309:in `to_spec'
- from /Users/tomisoft/.rvm/rubies/ruby-2.2.0-p448/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_gem.rb:53:in `gem'
- from /Users/tomisoft/.rvm/rubies/ruby-2.2.0-p448/bin/pod:22:in `<main>'
类似这种错误就是路径的设置问题,执行如下命令解决
rvm use ruby-2.2.0-p448
三、升级CocoaPods
升级就是再次执行一次安装命令即可,不过有点要注意的是,要与原先安装的命令相匹配,使用sudo,不然可能出现路径不对。
sudo gem install cocoapods
四、CocoaPods的使用
新建一个工程,或是当前自己项目都可以。作为演示新建一个项目CocoaPodsTest
1、创建Podfile
CocoaPods的一切都关系到一个名为Podfile的文件,也从这个文件开始。可以在工程目录下新建这样一个文件,也可以使用更方便的终端命令行来创建
cd /Users/tomisoft/Desktop/CocoaPodTest
touch Podfile
文件创建成功,可到工程根目录文件包里查看
2.编辑Podfile文件
根据需要,我们可以在Podfile文件中写入需要用到的第三方库,以AFNetworking、Reachability两个库为例,在Podfile文件中编辑内容如下:
platform :ios
pod 'Reachability', '~> 3.0.0'
platform :ios, '7.0'
pod 'AFNetworking', '~> 2.0'
3.执行命令导入第三方库
cd /Users/tomisoft/Desktop/CocoaPodTest
pod install
导入成功之后,可以看到,工程的根目录下多了三个东西:CocoaPodsTest.xcworkspace、Podfile.lock文件和Pods目录。
执行完pod install命令我们会看到 [!] From now on use `CocoaPodsTest.xcworkspace`. 这样一句提示: 即从现在开始我们需要使用CocoaPodsTest.xcworkspace文件来开发。这个时候原来新建的单一的CocoaPodsTest.xcodeproj那个工程文件编译便会报错。
后续使用,如随着项目的开发,需要导入SDWebImage第三方类库,则直接在Podfile文件中添加pod 'SDWebImage', '~> 2.0'再打开终端执行:
cd /Users/tomisoft/Desktop/CocoaPodTest
pod install
执行成功之后,就可以在项目中看到SDWebImage第三方类库已经成功导入。
项目要使用相关类库时,只要导入相关头文件,编译成功即可大功告成,是不是很爽,O(∩_∩)O哈哈~!