01 - CocoaPods 安装和使用步骤以及可能出现的问题

1.首先什么是CocoaPods

CocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为“Pods”的依赖库(这些类库必须是CocoaPods本身所支持的),并且可以轻松管理其版本。

Cocoapods意义体现在两个方面。

第一,在引入第三方库时它可以自动为我们完成各种各样的配置,包括配置编译阶段、连接器选项、甚至是ARC环境下的-fno-objc-arc配置等。

第二,使用CocoaPods可以很方便地查找新的第三方库,这些类库是比较“标准的”,而不是网上随便找到的,这样可以让我们找到真正好用的类库。

2.CocoaPods 安装步骤

安装cocosPods的步骤: Xcode->homebrew->RVM->Ruby->CocoaPods

1.首先安装xcode ,然后安装homebrew 具体安装方法请看http://brew.sh/,就一句话复制粘贴到终端运行即可

2.安装RVM 来升级Ruby

a.终端输入rvm -v查看是否安装

b.安装过就算了,没有安装继续在终端输入 curl -L get.rvm.io | bash -s stable

c.需要稍等一会儿

d.终端依次输入source ~/.bashrc source ~/.bash_profile

e.查看rvm -v 是否安装成功!

3.首先升级Ruby环境

a.终端输入rvm list 查看ruby的等级,要安装cocosPods ,ruby必须要2.2.2以上(注意一个坑!!,必须要2.3.0,如果输入2.3就会出错)

b. 打开终端 输入rvm list known,

c.rvm install 2.3.0 //安装一个ruby版本

4.修改Ruby地址

我们更新和下载框架的网站是cocoapods.org,有可能被墙了,淘宝的映像源已经停止维护更新了,需要我们使用最新的源

a. 首先尝试更新

终端输入 sudo gem update --system

b.删除没有用的源,注意淘宝已经停止维护,如果有淘宝的源也要删除

终端输入 gem sources --remove https://rubygems.org/

gem sources --remove https://ruby.taobao.org/ //如果安装了淘宝的镜像

c.加入新的源,现在ruby-china会持续更新维护,他是实时的

gem sources -a https://gems.ruby-china.org/

d.OK, 输入 gem sources -l 查看下地址是否替换成功了,如果显示的下面的就表示成功!

3.开始安装CocoaPods

  • 终端输入 sudo gem install cocoapods

显示如下
image

红色位置输入密码,回车开始下载,这里不会有任何提示,光标也不会变动,很正常,不要以为输入没反应

开始安装,安装时间可能比较长,安装成功之后的提示如下,

image
  • 然后输入 pod setup 用于安装github 的 master源

3.CocosPods 升级步骤

有时候管理一个基于FMDB的项目类库,会出现下面的错误

$ pod install
[!] The 'master' repo requires CocoaPods 0.32.1 -

需要更新到最新的cocosPods

pod --version //查看当前的版本

sudo gem update --system // 先更新gem,国内需要切换源

gem sources -l //查看是否是正确的源

//下面就是安装步骤,即更新步骤

sudo gem install cocoapods //安装

pod setup

//再次查看版本

pod --version

4.如果集成到项目中

4.1 集成 没有CocoaPods 管理过的项目(新项目同理)

a.找到项目根目录,例如下图

image

终端输入 cd ,然后空一格,将上图蓝色的文件直接拖到cd 后面,回车即可

终端输入 ls 查看,子目录是不是对的上,判断自己是否进入文件根目录了

b.确定进入到需要管理的项目的根目录,我们在终端输入

pod init,开始进行CocoaPods管理,这时会发现,文件中多了一个上图红圈的文件,Podfile文件

[图片上传失败...(image-83cd5e-1525312200069)]

c. 我们使用Xcode 或者 Subline打开Podfile ,用文本编辑器打开有时候有问题,打开如下

[图片上传失败...(image-5d7384-1525312200069)]

d. 在profile输入自己想要输入的内容,举例如下

--> 最简单的写法如下

pod 'Reachability'

--> 指定平台版本的写法

platform :ios    
pod 'Reachability',  '~> 3.0.0'    
pod 'SBJson', '~> 4.0.0'    

platform :ios, '7.0'    
pod 'AFNetworking', '~> 2.0' 

--> 如果是swift版本,如果加入依赖,需要打开,就是去掉#

# Uncomment this line if you're using Swift or would like to use dynamic frameworks
# use_frameworks!

--> 如果profile不想放在根目录,理论上也是可以的,如果这样,我们需要如下书写

//这里指定具体的工程入口文件地址,如果不是在同级目录,这句话不能少!!!!
xcodeproj "/Users/wangzz/Desktop/CocoaPodsTest/CocoaPodsTest.xcodeproj"  

platform :ios    
pod 'Reachability',  '~> 3.0.0'    
pod 'SBJson', '~> 4.0.0'    

platform :ios, '7.0'    
pod 'AFNetworking', '~> 2.0' 

--> 如果是多个target 公用 同一套依赖库

link_with 'CocoaPodsTest', 'Second'  
platform :ios    
pod 'Reachability',  '~> 3.0.0'    
pod 'SBJson', '~> 4.0.0'    

platform :ios, '7.0'    
pod 'AFNetworking', '~> 2.0' 

具体的语法请参考//www.greatytc.com/p/8af475c4f717

4.2 已经集成,依赖库更新

直接在终端输入 pod update

5.如何找到自己想要的库

  1. 首先到github 上去搜索看有没有感兴趣的,例如搜索 afn

得到结果会有如下的文字阶段,直接拷贝到profile中

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'

target 'TargetName' do
pod 'AFNetworking', '~> 3.0'
end
  1. 输入 pod search 关键字(英文) ,例如 pod search afnetwork 会搜索出来一堆,看结果

[图片上传失败...(image-c38f68-1525312200069)]

复制 pod 'AFNetworking', '~> 3.0.4' 到 profile 中

5.安装依赖库

如果文件中没有profile.lock (执行完pod install之后,会生成一个Podfile.lock文件。这个文件看起来跟我们关系不大,实际上绝对不应该忽略它,该文件用于保存已经安装的Pods依赖库的版本,鉴于Podfile.lock文件对团队协作如此重要,我们需要将它添加到版本管理中)说明 还没有开始依赖库管理,

我们需要在终端执行 pod install

如果修改了profile 同样需要我们在终端执行 pod install

如果我们并没有写死profile 中的依赖库,也就是说我们没有指定哪个版本的依赖库(后面没有'~> 2.0' 这类),我们可以使用 pod update 来更新, 无论有没有profile.lock profile 都会自动更新到最新

6.参考文献

关于profilehttp://blog.csdn.net/wzzvictory/article/details/19178709

ruby-china的官方https://gems.ruby-china.org/

最新cocosPods的详细解释//www.greatytc.com/p/2ef8a38416c4

这个文档有坑,以本文为准//www.greatytc.com/p/bc23609101f5

如何更新ruby的文章http://blog.csdn.net/luohancc/article/details/46897247

cocosPod 升级方案http://www.cnblogs.com/brycezhang/p/3675670.html

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

推荐阅读更多精彩内容