首先, 不会用cocoapods的话如过你接手某些新项目是用cocoapods写的你会疯, 其次他真的非常好用, 当然某些坑也是存在的,比方你用它导入了AFNetwork然后你须要改动一些AF的内部的代码以适应你项目的特殊需求,这时候cocoapods就会报错, 报错, 报错…
OK,以下步入正题
在安装CocoaPods之前,首先要在本地安装好Ruby环境。
MAC系统自带ruby环境可是某些老旧机型可能ruby版本号过低会报错,只是更新一下就好,而安装ruby须要RVM .
步骤0 - 准备工作
首先须要切换到淘宝镜像服务器不然以下各个步奏会异常的卡顿(假设你以前切换过能够查询出来)
查询:
$ gem sources -l
假设输出:
*** CURRENT SOURCES ***
http://ruby.taobao.org/
则已经切换成功, 不然就:
$ gem sources --remove https://rubygems.org/
//等有反应之后再敲入以下命令
$ gem sources -a http://ruby.taobao.org/
结束后,然后再次:
$ gem sources -l
假设输出:
*** CURRENT SOURCES ***
http://ruby.taobao.org/
OK准备工作结束.
步骤1 - 安装 RVM
RVM 是干什么的这里就不解释了,后面你将会慢慢搞明确。使用官方推荐的方法安装:
$ curl -L https://get.rvm.io | bash -s stable
期间可能会问你sudo管理员password,以及自己主动通过homebrew安装依赖包。等待一段时间后就能够安装成功好 RVM。
然后,加载 RVM 环境(新开 Termal 就不用这么做了,会自己主动又一次加载的)
$ source ~/.rvm/scripts/rvm
检查一下是否安装正确
$ rvm -v
会输出:
rvm 1.26.11 (latest) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
步骤2 - 用 RVM 安装 Ruby 环境
$ rvm install 2.0.0
相同继续等待漫长的下载,编译过程,完毕以后,Ruby, Ruby Gems 就安装好了。
步骤3 - 设置 Ruby 版本号
RVM 装好以后,须要运行以下的命令将指定版本号的 Ruby 设置为系统默认版本号
$ rvm 2.0.0 --default
相同,也能够用其它版本号号,前提是你实用 rvm install 安装过那个版本号
这个时候你能够測试是否正确
$ ruby -v
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin13.0.0]
$ gem -v
2.1.6
步骤4 - 安装cocoapods(第四步才是正题, ⊙﹏⊙b汗)
$ sudo gem install cocoapods
会显示:
nizege:~ chenenze$ sudo gem install cocoapods
Password:
Fetching: i18n-0.7.0.gem (100%)
Successfully installed i18n-0.7.0
Fetching: thread_safe-0.3.5.gem (100%)
Successfully installed thread_safe-0.3.5
Fetching: tzinfo-1.2.2.gem (100%)
...
最后:
19 gems installed
就安装完了.
这时你能够
$pod search AFNetworking
来检測一下
假设:
-> AFNetworking (2.5.4)
A delightful iOS and OS X networking framework.
pod 'AFNetworking', '~> 2.5.4'
- Homepage: https://github.com/AFNetworking/AFNetworking
- Source: https://github.com/AFNetworking/AFNetworking.git
- Versions: 2.5.4, 2.5.3, 2.5.2, 2.5.1, 2.5.0, 2.4.1, 2.4.0, 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, 0.10.1, 0.10.0, 0.9.2, 0.9.1, 0.9.0, 0.7.0, 0.5.1 [master repo]
- Subspecs:
- AFNetworking/Serialization (2.5.4)
- AFNetworking/Security (2.5.4)
- AFNetworking/Reachability (2.5.4)
- AFNetworking/NSURLConnection (2.5.4)
就说明成功了.
$which pod
输出
/usr/bin/pod
这样也能够检測是否安装成功.
使用篇:
首先创建一个X-code项目,先起名为CocoaPodsDemo(以将项目创建到桌面为例)
打开终端
$cd Desktop
$cd CocoaPodsDemo
进入x-codeproject目录后
$ls
发现里面仅仅有三个x-code文件,如今须要创建Podfile文件, Podfile是什么?你能够理解为这是CocoaPods的配置文件,CocoaPods依据这个文件的记载去加载你所须要的第三方类库以及选择适合目标平台的版本号来安装
创建Podfile文件:
$touch Podfile
编辑他(两种方式):
$open -e Podfile
或者:
$vi Podfile
在打开的文件中输入(这里装的是融云IMKit)
platform :ios, '8.4'
pod 'RongCloudIMKit'
pod 'MBProgressHUD', '~> 0.8'
第二行写的是须要安装的第三方库清单, 多个的话换行继续写, 不谢逗号后面的 默认安装最新版 一个一个的排(注意:引號等标点必须写对不然会报错!!!)
然后保存关闭第一种编辑方式直接command+s另外一种:
:wq
然后运行:
$pod install
第一次安装会看到以下这句话卡住了非常久
Setting up CocoaPods master repo
不要着急。其它他正在下载,我第一次用时也以为是卡了。但事实上并没有,心急的哥们能够:
右键新建窗体
$cd ~/.cocoapods/
$du -sh *
会显示下载了多少哦,着急的话就隔几秒du -sh一下吧
6、安装完毕
[!] From now on use xxxxxxxxxxxxx.xcworkspace
.
Cocoapods会在你的项目目录中创建一堆新文件,但你主须要关心后缀为.xcworkspace的文件,用Xcode打开。
如今有一个Pods项目在你的项目工作区,以及在Pods目录放着每个你引入的库.
删除篇:
删除项目中已经配置的类库
和(一)相似,我们首先新建一个名为CocoaPodsDemo的项目,然后cd到项目目录下新建一个Podfile文件,并编写该文件,内容例如以下:
platform:ios, '7.0' pod 'AFNetworking', '~> 2.1.0'
pod 'JSONKit', '~> 1.5pre'
pod 'MBProgressHUD', '~> 0.8'
相比(一),我们将要增加的JSONKit的版本号从1.1升级到1.5 preview版。
然后pod install,能够看到安装是成功的。
打开CocoaPodsDemo.xcworkspace文件。编译一下,会出现报错:
原因是JSONKit类库出现了各种各样的问题。
这个时候。我们非常自然想到要删掉这个类库,然后尝试使用低版本号的JSONKit(这也是我在(一)中为什么用1.1作为演示样例的原因)。
方法:
1.打开Podfile文件,删除JSONKit该行,即:
platform:ios, '7.0'
pod 'AFNetworking', '~> 2.1.0'
pod 'JSONKit', '~> 1.5pre'(删除该行)
pod 'MBProgressHUD', '~> 0.8'
(假设想换成1.1版本号,将被删除的行改成pod ‘JSONKit-NoWarning’, ‘~> 1.1’就可以)
2.cd到当前项目目录下。又一次运行pod install命令。输出信息例如以下(留意Removing JSONKit):
$ pod installAnalyzing dependenciesRemoving JSONKitDownloading dependenciesUsing AFNetworking (2.1.0)Using MBProgressHUD (0.8)Generating Pods projectIntegrating client project
3.又一次打开xcworkspace文件,能够看到JSONKit被移除,再次编译将会通过:
在项目中移除CocoaPods
假设你认为CocoaPods让你的项目出现了问题,不好用甚至是恶心,想将其从项目中彻底移除,也有方法:
1.删除project目录下的Podfile、Podfile.lock和Pods目录。
2.删除xcworkspace文件。
3.打开xcodeproj文件。删除项目中的libpods.a和Pods.xcconfig引用:
4.打开Build Phases选项。删除Check Pods Manifest.lock和Copy Pods Resources:
完毕,编译运行,无错通过。
个人感觉,从项目中移除某个类库还算是能够的。可是移除整个CocoaPods就有点麻烦了(也可能是我没有找对方法)。希望CocoaPods能作出改进。
另外。假设在编辑project时不小心删除了某个文件,如Podfile.lock,那么我们就要用上面的方法先移除整个CocoaPods,然后又一次建立Podfile和使用pod install命令重装CocoaPods(有够麻烦的)。