CocoaPods的安装、使用、以及遇到的问题
CocoaPods是什么?
当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等。可能某个类库又用到其他类库,所以要使用它,必须得另外下载其他类库,而其他类库又用到其他类库,“子子孙孙无穷尽也”,这也许是比较特殊的情况。总之小编的意思就是,手动一个个去下载所需类库十分麻烦。另外一种常见情况是,你项目中用到的类库有更新,你必须得重新下载新版本,重新加入到项目中,十分麻烦。如果能有什么工具能解决这些恼人的问题,那将“善莫大焉”。所以,你需要 CocoaPods。
CocoaPods应该是iOS最常用最有名的类库管理工具了,上述两个烦人的问题,通过cocoaPods,只需要一行命令就可以完全解决,当然前提是你必须正确设置它。重要的是,绝大部分有名的开源类库,都支持CocoaPods。所以,作为iOS程序员的我们,掌握CocoaPods的使用是必不可少的基本技能了。
如何下载和安装CocoaPods?
注:要使用CocoaPods,那就要下载安装它,而下载安装CocoaPods需要Ruby环境
1.Ruby环境的安装
1.1.Ruby版本过低,使用RVM(Ruby Version Manage即Ruby版本管理)升级Ruby
//1.安装RVM
curl -L get.rvm.io | bash -s stable
//2.等待一段时间后就可以成功安装后RVM
source ~/.bashrc
//3.测试是否安装正常
rvm -v
1.2.用RVM升级Ruby
//列出已知的ruby版本号
rvm list known
//安装ruby 最新版本
rvm install 最新版本号
1.3.查看ruby版本
ruby -v
2.cocoaPods的安装
2.1.切换cocoaPods的数据源
//先删除旧的数据源(有墙)
gem source --remove https://rubygems.org/
//添加新的数据源(淘宝源目前已没有维护)
gem source -a https://gems.ruby-china.com
//查看数据源
gem source -l
2.2.安装cocoaPods
//安装cocoaPods
sudo gem install cocoapods
//配置仓库
pod setup
//下载结束,可查看版本号
pod --version
CocoaPod的使用
2.1.1.开源库的搜索
pod search AFNetworking
2.1.2.添加第三方库,
- 终端命令
a.新建一个项目
b.终端中,cd到项目的总目录
c.建立Podfile(配置文件) vim Podfile
d.键盘输入 i,进入编辑模式
e.编辑结束,按Esc,并且输入“ :”号进入vim命令模式,然后在冒号后边输入wq进行保存
f.输入 pod install,开始安装第三方
- 关于Podfile文件编辑
a.正常情况的编写
platform:ios,'8.0'
target:'工程的名字' do
pod '第三方库的名字','版本号'
end
b.如果不同的Target需要不同的依赖库,则可以
platform :ios
target :'FirstTarget' do
pod 'Reachability'
pod 'SBJson'
pod 'AFNetworking'
end target :'SecondTarget' do
pod 'OpenUDID'
end
c.第三方库版本号的各种写法:
pod ‘AFNetworking’ //不显式指定依赖库版本,表示每次都获取最新版本
pod ‘AFNetworking’, ‘2.0’ //只使用2.0版本
pod ‘AFNetworking’, ‘>2.0′ //使用高于2.0的版本
pod ‘AFNetworking’, ‘>=2.0′ //使用大于或等于2.0的版本
pod ‘AFNetworking’, ‘<2.0′ //使用小于2.0的版本
pod ‘AFNetworking’, ‘<=2.0′ //使用小于或等于2.0的版本
pod ‘AFNetworking’, ‘~>0.1.2′ //使用大于等于0.1.2但小于0.2的版本,相当于>=0.1.2并且<0.2.0
pod ‘AFNetworking’, ‘~>0.1′ //使用大于等于0.1但小于1.0的版本
pod ‘AFNetworking’, ‘~>0′ //高于0的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本
CocoaPod安装以及使用过程中出现的问题
a.没有指定工程中的Target

b.Podfile编写规范有误

c.安装了多个Xcode导致路径发生改变
.
解决办法
sudo xcode-select -switch /Applications/Xcode.app
注: /Applications/Xcode.app:此部分未Xcode所在路径,找到Xcode的安装路径,拖进来即可
d.当库正常导入后,但还是找不到相关头文件,制约了我们的开发效率,则可以:
在TARGETS -> Search Paths -> User Header Search Paths 中 写入 ${SRCROOT}再将后面参数改为recursive:
e.该开始安装后,会有以下情况,这一步一般都需要等待点时间,在安装过程,要是想查看下载进度,通过以下命令可以查看
//进入CocoaPods目录
cd ~/.cocoapods
//查看文件大小,每隔几分钟查看一次
du -sh *

f.当输入终端命令 :
sudo gem install cocoapods
提示以下错误:

这个问题说明是你的gem版本过旧了 (没有报错此步骤可以跳过)
执行 sudo gem update --system
或是在命令中指定安装到/usr/bin/pods下即可正常安装成功:
sudo gem install -n /usr/local/bin cocoapods
安装成功
g.安装Cocoapods 使用pod指定提示 "pod: command not found"

以上问题为本人目前遇到的 ,还请大家帮忙补充
CocoaPods的安装、使用、以及遇到的问题的更多相关文章
- iOS 最新版 CocoaPods 的安装流程
iOS 最新版 CocoaPods 的安装流程1.移除现有Ruby默认源$gem sources --remove https://rubygems.org/2.使用新的源$gem sources - ...
- 最新版 CocoaPods 的安装流程
iOS 最新版 CocoaPods 的安装流程 1.移除现有Ruby默认源 $gem sources --remove h ...
- Cocoapods的安装
1.先升级Gem sudo gem update --system 2.切换cocoapods的数据源 [先删除,再添加,查看] gem sources --remove https://rubyge ...
- Cocoapods的安装,卸载和使用
[一]Cocoapods的安装 (1)Cocoapods的官方网站为: https://cocoapods.org/ .如果你的电脑已经安装了Ruby开发环境,那么在终端(Terminal)中使用以下 ...
- OS10.11系统下 安装cocoapods 以及 安装cocoapods-xcode-plugin-master插件来加载三方框架
http://www.cnblogs.com/cheng923181/p/4883476.html OS10.11系统下 安装cocoapods 以及 安装cocoapods-xcode-plugin ...
- 【原】iOS学习46之第三方CocoaPods的安装和使用(通用方法)
本文主要说明CocoaPods的安装步骤.使用说明和常见的报错即解决方法. 1. CocoaPods 1> CocoaPods简介 CocoaPods是一个用来帮助我们管理第三方依赖库的工具. ...
- CocoaPods的安装(图文并茂)OS X 10.11 系统
这里是前言,可以跳过前言部分直接跳到后面"这里正式安装"开始看步骤: 系统:OS X EI Capitan 版本:10.11.2 开发工具:XCode:7.2 先给一个挺不错的关于 ...
- CocoaPods的安装及使用/利用开源库Diplomat实现分享及第三方登录/git的使用
<<史上最简洁版本>> 1.gem sources -l查看 当前的源 //1.1 sudo -i..以下都是以管理员的身份来操作的 2.gem sources --remov ...
- CocoaPods的安装[转载]
[转载] 原地址http://www.tuicool.com/articles/7VvuAr3 觉得很好,很有用 iOS 最新版 CocoaPods 的安装流程 1.移除现有Ruby默认源 $gem ...
随机推荐
- App开发:模拟服务器数据接口 - MockApi
为了方便app开发过程中,不受服务器接口的限制,便于客户端功能的快速测试,可以在客户端实现一个模拟服务器数据接口的MockApi模块.本篇文章就尝试为使用gradle的android项目设计实现Moc ...
- Angular杂谈系列1-如何在Angular2中使用jQuery及其插件
jQuery,让我们对dom的操作更加便捷.由于其易用性和可扩展性,jQuer也迅速风靡全球,各种插件也是目不暇接. 我相信很多人并不能直接远离jQuery去做前端,因为它太好用了,我们以前做的东西大 ...
- Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数
上一篇:Angular2入门系列教程-服务 上一篇文章我们将Angular2的数据服务分离出来,学习了Angular2的依赖注入,这篇文章我们将要学习Angualr2的路由 为了编写样式方便,我们这篇 ...
- 对抗假人 —— 前后端结合的 WAF
前言 之前介绍了一些前后端结合的中间人攻击方案.由于 Web 程序的特殊性,前端脚本的参与能大幅弥补后端的不足,从而达到传统难以实现的效果. 攻防本为一体,既然能用于攻击,类似的思路同样也可用于防御. ...
- JS核心系列:浅谈 call apply 与 bind
在JavaScript 中,call.apply 和 bind 是 Function 对象自带的三个方法,这三个方法的主要作用是改变函数中的 this 指向,从而可以达到`接花移木`的效果.本文将对这 ...
- [C#][算法] 用菜鸟的思维学习算法 -- 马桶排序、冒泡排序和快速排序
用菜鸟的思维学习算法 -- 马桶排序.冒泡排序和快速排序 [博主]反骨仔 [来源]http://www.cnblogs.com/liqingwen/p/4994261.html 目录 马桶排序(令人 ...
- iOS开发 判断当前APP版本和升级
从iOS8系统开始,用户可以在设置里面设置在WiFi环境下,自动更新安装的App.此功能大大方便了用户,但是一些用户没有开启此项功能,因此还是需要在程序里面提示用户的 方法一:在服务器接口约定对应的数 ...
- Atitit.研发管理软件公司的软资产列表指南
Atitit.研发管理软件公司的软资产列表指南 1. Isv模型下的软资产1 2. 实现层面implet1 3. 规范spec层1 4. 法则定律等val层的总结2 1. Isv模型下的软资产 Sof ...
- fhq treap最终模板
新学习了fhq treap,厉害了 先贴个神犇的版, from memphis /* Treap[Merge,Split] by Memphis */ #include<cstdio> # ...
- Demo源码放送:打通B/S与C/S !让HTML5 WebSocket与.NET Socket公用同一个服务端!
随着HTML5 WebSocket技术的日益成熟与普及,我们可以借助WebSocket来更加方便地打通BS与CS -- 因为B/S中的WebSocket可以直接连接到C/S的服务端,并进行双向通信.如 ...