前言:文中的"$"表示命令行,使用时不需要包含
cocoaPods的安装
-
因为cocoaPods需要用Gem进行安装,所以如果系统比较旧需要先升级Gem
- $ sudo gem update --system
-
切换cocoaPods的数据源
- 查看当前数据源:$ gem sources -l
- 如果数据源为 https://ruby.taobao.org/ 则继续安装,不是则需要执行以下2个步骤修改数据源
- 先删除原来的数据源:$ gem sources --remove https://rubygems.org/
- 设置数据源:$ gem sources -a https://ruby.taobao.org/
-
安装cocoaPods(需要等待,下载数据源)
- $ sudo gem install cocoapods 如果报错则使用下面的命令行进行安装
- $ sudo gem install -n /usr/local/bin cocoapods
- $ sudo gem install cocoapods 如果报错则使用下面的命令行进行安装
-
设置pod仓库(需要等待,因为要下载cocoaPods支持的框架配置文件,长短看网速)
- $ pod setup
-
查看一下是否安装成功(如果有版本号,则说明已经安装成功)
- $ pod --version
利用cocoaPods来安装第三方框架
-
进入要安装框架的项目的.xcodeproj同级文件夹
- $ cd 项目的.xcodeproj同级文件夹路径
- 在该文件夹中新建一个文件podfile
- $ touch podfile
- 查看cocoaPods是否支持要使用的框架(这里就搜索afn,在检索出来的信息中寻找是否有需要的框架)
- $ pod search afn
- 找到需要使用的框架并拷贝 pod 'AFNetworking', '~> 3.1.0'(拷贝框架下相应的字段)
- 在podfile文件中告诉cocoapods需要安装的框架信息
- 打开podfile文件
- 告诉它支持的平台、适用的iOS版本
- platform :ios, '6.1'
- 框架的名称、框架的版本
- pod 'AFNetworking', '~> 3.1.0'
- 保存
说明:
platform :ios, '7.0' 用来设置所有第三方库所支持的iOS最低版本
pod 'AFNetworking', '~> 3.1.0' 设置框架的名称和版本号
版本号的规则:
'>1.0' 可以安装任何高于1.0的版本
'>=1.0' 可以安装任何高于或等于1.0的版本
'<1.0' 任何低于1.0的版本
'<=1.0' 任何低于或等于1.0的版本
'~>0.1' 任何高于或等于0.1的版本,但是不包含高于1.0的版本
'~>0' 任何版本,相当于不指定版本,默认采用最新版本号
-
安装框架
- $ pod install --no-repo-update
- $ pod update --no-repo-update
说明:--no-repo-update表示不更新,速度较快也可以省略
使用pod install命令安装框架后的大致过程:
- 分析依赖:该步骤会分析Podfile,查看不同类库之间的依赖情况。如果有多个类库依赖于同一个类库,但是依赖于不同的版本,那么cocoaPods会自动设置一个兼容的版本。
- 下载依赖:根据分析依赖的结果,下载指定版本的类库到本地项目中。
- 生成Pods项目:创建一个Pods项目专门用来编译和管理第三方框架,CocoaPods会将所需的框架,库等内容添加到项目中,并且进行相应的配置。
- 整合Pods项目:将Pods和项目整合到一个工作空间中,并且设置文件链接。
卸载cocoaPods
- $ sudo gem uninstall cocoapods
常见错误解决方法
-
错误 1:
-
Error fetching http://ruby.taobao.org/:
bad response Not Found 404 (http://ruby.taobao.org/specs.4.8.gz)
解决方案:把安装流程中 $ gem sources -a http://ruby.taobao.org/specs.4.8.gz
改为:$ gem sources -a https://ruby.taobao.org/
-
-
错误 2:
- Error: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/pod
解决方案:系统升级 OS X EL Capitan (10.11) 后会出现的插件错误,将安装流程安装 CocoaPods 的 sudo gem install cocoapods
改为 sudo gem install -n /usr/local/bin cocoapods -
错误 3:
-
[!] Unable to satisfy the following requirements:
-
AFNetworking (~> 2.3.1)
required byPodfile
Specs satisfying the
AFNetworking (~> 2.3.1)
dependency were found, but they required a higher minimum deployment target.解决方案:Podfile 文件 中 platform:ios, ‘7.0’ 后边的 7.0 是平台版本号 ,一定要加上
-
-
错误 4:
―――――――――― MARKDOWN TEMPLATE ――――――――――
省略一大堆信息
―――――――――― TEMPLATE END ――――――――――
[!] Oh no, an error occurred.
Search for existing github issues similar to yours:
If none exists, create a ticket, with the template displayed above, on:
https://github.com/CocoaPods/CocoaPods/issues/new
Don't forget to anonymize any private data!
解决方案:
$ sudo rm -rf ~/.cocoapods/repos/master
$ pod setup