1.先升级Gem (Mac下都自带ruby,打开终端使用ruby的gem命令即可下载安装cocoapods)
sudo gem update --system
2.切换cocoapods的数据源 (ruby的软件源rubygems.org使用的亚马逊的云服务被墙了,所以需要更新一 下ruby的源,如下代码将官方的ruby源替换成国内淘宝的源)
【先删除,再添加,查看】
gem sources --remove https://rubygems.org/
gem sources -a https://ruby.taobao.org/
gem sources -l
3.安装cocoapods (卸载:sudo gem uninstall cocoapods)
sudo gem install cocoapods
或者(如10.11系统)sudo gem install -n /usr/local/bin cocoapods
4.将Podspec文件托管地址从github切换到国内的oschina (如果下载速度可以,此步骤可省略)
【先删除,再添加,再更新】
pod repo remove master
pod repo add master http://git.oschina.net/akuandev/Specs.git
pod repo add master https://gitcafe.com/akuandev/Specs.git
pod repo update
5.设置pod仓库
pod setup
6.测试
【如果有版本号,则说明已经安装成功】
pod --version
7.利用cocoapods来安装第三方框架
最新方法:
01.命令行:cd 工程文件夹地址
02.命令行:pod init 自动创建文件podfile
03.进入podfile文件,去掉#打开平台platform,在Target—— ——end中间添加第三方框架:pod ‘masonry’,C+S保存。注意:文件中不能有‘’等中文字符,不能有两个Taget/end
或者:
01 进入要安装框架的项目的.xcodeproj同级文件夹
02 在该文件夹中新建一个文件podfile(命令行:touch profile)
03 在文件中告诉cocoapods需要安装的框架信息
a.该框架支持的平台
b.适用的iOS版本
c.框架的名称
d.框架的版本
8.安装
pod install --no-repo-update // 第一次安装第三方库
pod update --no-repo-update // 更新第三方库
9.说明
platform :ios, '8.0' 用来设置所有第三方库所支持的iOS最低版本
pod 'SDWebImage','~>2.6' 设置框架的名称和版本号
版本号的规则:
'>1.0' 可以安装任何高于1.0的版本
'>=1.0' 可以安装任何高于或等于1.0的版本
'<1.0' 任何低于1.0的版本
'<=1.0' 任何低于或等于1.0的版本
'~>0.1' 任何高于或等于0.1的版本,但是不包含高于1.0的版本
'~>0' 任何版本,相当于不指定版本,默认采用最新版本号
10.使用pod install命令安装框架后的大致过程:
01 分析依赖:该步骤会分析Podfile,查看不同类库之间的依赖情况。如果有多个类库依赖于同一个类库,但是依赖于不同的版本,那么cocoaPods会自动设置一个兼容的版本。
02 下载依赖:根据分析依赖的结果,下载指定版本的类库到本地项目中。
03 生成Pods项目:创建一个Pods项目专门用来编译和管理第三方框架,CocoaPods会将所需的框架,库等内容添加到项目中,并且进行相应的配置。
04 整合Pods项目:将Pods和项目整合到一个工作空间中,并且设置文件链接。
注意:
1.利用CocoPods管理类库后, 以后打开项目就用xxxx.xcworkspace 打开,而不是 之前的.xcodeproj文件
2.每次更改了Podfile文件,你需要重新执行一次pod update命令。
3.关于.gitignore当你执行pod install之后,除了Podfile外,CocoaPods还会生成一个名为 Podfile.lock的文件,你不应该把这个文件加入到.gitignore中。因为Podfile.lock 会锁定当前各依赖库的版本,之后如果多次执行pod install 不会更改版本,要 pod update才会改Podfile.lock了。这样多人协作的时候,可以防止第三方库升 级时造成大家各自的第三方库版本不一致。
4. CocoaPods在执行pod install和pod update时,会默认先更新一次CocoPods的 spec仓库索引。使用--no-repo-update参数可以禁止其做索引更新操作
pod install --no-repo-update
pod update --no-repo-update