cocoapods的安装,使用,卸载

首先, 不会用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管理员密码,以及自动通过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

sudo gem uninstall cocoapods //这个命令用于卸载

会显示:

nizege:~ chenenze$ sudo gem install cocoapodsPassword:Fetching: i18n-0.7.0.gem (100%)Successfully installed i18n-0.7.0Fetching: thread_safe-0.3.5.gem (100%)Successfully installed thread_safe-0.3.5Fetching: 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-code工程文件夹后
$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.删除工程文件夹下的Podfile、Podfile.lock和Pods文件夹。
2.删除xcworkspace文件。
3.打开xcodeproj文件,删除项目中的libpods.a和Pods.xcconfig引用:
4.打开Build Phases选项,删除Check Pods Manifest.lock和Copy Pods Resources:
完成,编译运行,无错通过。
个人感觉,从项目中移除某个类库还算是可以的,但是移除整个CocoaPods就有点麻烦了(也可能是我没有找对方法),希望CocoaPods能作出改进。
另外,如果在编辑工程时不小心删除了某个文件,如Podfile.lock,那么我们就要用上面的方法先移除整个CocoaPods,然后重新建立Podfile和使用pod install命令重装CocoaPods(有够麻烦的)。
             
参考:
http://www.netfoucs.com/article/u010962810/66727.html
http://blog.sina.com.cn/s/blog_7008c3140101hrh7.html
http://www.tuicool.com/articles/iaqU3im

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,817评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,329评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,354评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,498评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,600评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,829评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,979评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,722评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,189评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,519评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,654评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,329评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,940评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,762评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,993评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,382评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,543评论 2 349

推荐阅读更多精彩内容

  • Ruby 安装 要安装cocospods 首先需要安装ruby,可以先安装xcode,再安装macport ,最后...
    山天大畜阅读 1,846评论 0 1
  • 检视与反思 20170816 1. 如何高效沟通 领导者如果给员工指令不够明确,一般不会得到你想要的东西;当然不包...
    Erickaku阅读 149评论 0 0
  • 未必永远才算爱得完全,一个人的成全,好过三个人的纠结…… 阿雅从国外留学回来后,在上海的一家外贸公司找到了工作。她...
    安静写字的女子阅读 812评论 49 70
  • 一杯红酒,一支烟,是多年以后,陪伴我度过每个漫漫深夜的必备品,从落地窗看去每个房间都有亮灯,不过那都不属于...
    freshapple阅读 412评论 0 0