cocoaPods的安装步骤

本文主要参考的是这个链接:http://www.mamicode.com/info-detail-1574918.html
安装步骤如下:

安装cocoaPods首先要更新ruby,而更新ruby则需要先安装RVM,所以:(所有的操作都在命令行下完成,本文是基于10.12的系统安装的.仅作参考)
1>安装RVM
curl ‐L get.rvm.io | bash ‐s stable

2>等待RVM安装完成,执行下面两句命令
source ~/.bashrc
source ~/.bash_profile

3>测试是否安安装正常
rvm ‐v

4>用RVM升级Ruby
1.查看当前ruby版本
ruby ‐v
2.查看已知的ruby版本
rvm list known
3.安装最新版本的ruby(本文是2.3.0)
rvm install 2.3.0

5>cocoapods的安装和使用

1.先升级Gem(可以省略)
sudo gem update --system

2.切换cocoapods的数据源
终端输入如下命令(把Ruby镜像指向taobao,避免被墙,你懂得)
gem sources --remove https://rubygems.org/
gem sources -a https://ruby.taobao.org/
gem sources -l (用来检查使用替换镜像位置成功)

3.下载安装CocoaPods
sudo gem install cocoapods
或者(如10.11系统)sudo gem install -n /usr/local/bin cocoapods

4.设置pod仓库
pod setup

5.测试
【如果有版本号,则说明已经安装成功】
pod --version

6.利用cocoapods来安装第三方框架
01 进入要安装框架的项目的.xcodeproj同级文件夹(cd ...)
02 在该文件夹中新建一个文件podfile(mkdir podfile)
03 在文件中告诉cocoapods需要安装的框架信息
a.该框架支持的平台
b.适用的iOS版本
c.框架的名称
d.框架的版本

7.安装
pod update --no-repo-update
pod install --no-repo-update

8.说明
platform :ios, '7.0' 用来设置所有第三方库所支持的iOS最低版本
pod 'SDWebImage','~>3.7.5' 设置框架的名称和版本号
版本号的规则:
'>1.0' 可以安装任何高于1.0的版本
'>=1.0' 可以安装任何高于或等于1.0的版本
'<1.0' 任何低于1.0的版本
'<=1.0' 任何低于或等于1.0的版本
'~>0.1' 任何高于或等于0.1的版本,但是不包含高于1.0的版本
'~>0' 任何版本,相当于不指定版本,默认采用最新版本号

9.使用pod install命令安装框架后的大致过程:
01 分析依赖:该步骤会分析Podfile,查看不同类库之间的依赖情况。如果有多个类库依赖于同一个类库,但是依赖于不同的版本,那么cocoaPods会自动设置一个兼容的版本。
02 下载依赖:根据分析依赖的结果,下载指定版本的类库到本地项目中。
03 生成Pods项目:创建一个Pods项目专门用来编译和管理第三方框架,CocoaPods会将所需的框架,库等内容添加到项目中,并且进行相应的配置。
04 整合Pods项目:将Pods和项目整合到一个工作空间中,并且设置文件链接。

卸载:sudo gem uninstall cocoapods
查找第三方库: pod search AFNetworking

CocoaPods

Podfile.lock文件
保存最后一次更新Pods时, 所有第三方框架的版本号
常用指令的区别
pod install
会根据Podfile.lock文件中列举的版本号来安装第三方框架
如果一开始Podfile.lock文件不存在, 就会按照Podfile文件列举的版本号来安装第三方框架
安装框架之前, 默认会执行pod repo update指令
pod update
将所有第三方框架更新到最新版本, 并且创建一个新的Podfile.lock文件
安装框架之前, 默认会执行pod repo update指令
pod install --no-repo-update
pod update --no-repo-update
安装框架之前, 不会执行pod repo update指令
CocoaPods specs的镜像索引

在使用cocoapods进行update或者install的时候,会去更新获取pod specs。 所有的项目的podspec文件都托管在https://github.com/CocoaPods/Specs上。
第一次执行pod setup时,cocoapods会将这些podspec索引文件更新到本地的 ~/。cocoapods/目录下,
这个索引文件比较大,国内网络的问题,更新非常慢。

网上一个博主http://akinliu.github.io/2014/05/03/cocoapods-specs-/ ,对github上的specs仓库进行了镜像,是每10分钟进行同步一次,基本和主仓库保持一致。

gitcafe和oschina都是国内服务器,在执行索引更新操作时,快很多。

使用方法: pod repo remove master pod repo add master https://gitcafe.com/akuandev/Specs.git pod repo update

如果想用oschina的镜像,可以把第二条命令的地址换成oschina的即可。 pod repo add master http://git.oschina.net/akuandev/Specs.git

如果在pod install、或者pod update时,不想升级specs库,可以增加忽略参数 pod install --no-repo-update pod update --no-repo-update

Podfile.lock

当你执行pod install之后,除了 Podfile 外,CocoaPods 还会生成一个名为Podfile.lock的文件,Podfile.lock 应该加入到版本控制里面,不应该把这个文件加入到.gitignore中。因为Podfile.lock会锁定当前各依赖库的版本,之后如果多次执行pod install 不会更改版本,要pod update才会改Podfile.lock了。这样多人协作的时候,可以防止第三方库升级时造成大家各自的第三方库版本不一致。

pod install & pod update区别: 例如:Podfile中,pod ‘SVProgressHUD’,而未指定此开源库版本。pod install,如果SVProgressHUD已存在Pods中,则直接使用它。但是,pod update,会重新下载最新版本到Pods中。

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

推荐阅读更多精彩内容

  • CocoaPods 是什么? CocoaPods 是一个负责管理 iOS 项目中第三方开源库的工具。CocoaPo...
    朝洋阅读 25,593评论 3 51
  • 在之前的一个项目安装过CocoaPods,当时使用的Xcode 7,Mac系统为OS X 10.11,安装流程顺利...
    绚雨蓝了个枫阅读 3,305评论 2 2
  • 缘起自是很美。 友情的快乐在于分享,你的自酿黑啤,就算滴酒不沾的人,也是甘之如饴;她的网红小西点,嚷嚷着减肥,也是...
    宁黛阅读 196评论 0 1
  • 夏日就快要到了,你做好防晒的准备工作了吗?什么?不知道什么防晒霜好用?没关系,最受欢迎的前10款防晒产品都在这里了...
    可可玛阅读 1,001评论 0 4
  • 说起偶像这个词,对于年轻人而言想到的就是喜欢的明星和歌星了,可把偶像这个词用在自己父亲身上的又有几个呢?但对...
    0a81fc44c813阅读 186评论 0 0