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中。