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 ...
随机推荐
- C++ 可配置的类工厂
项目中常用到工厂模式,工厂模式可以把创建对象的具体细节封装到Create函数中,减少重复代码,增强可读和可维护性.传统的工厂实现如下: class Widget { public: virtual i ...
- In-Memory:在内存中创建临时表和表变量
在Disk-Base数据库中,由于临时表和表变量的数据存储在tempdb中,如果系统频繁地创建和更新临时表和表变量,大量的IO操作集中在tempdb中,tempdb很可能成为系统性能的瓶颈.在SQL ...
- 对抗密码破解 —— Web 前端慢 Hash
(更新:https://www.cnblogs.com/index-html/p/frontend_kdf.html ) 0x00 前言 天下武功,唯快不破.但在密码学中则不同.算法越快,越容易破. ...
- .NET 对接JAVA 使用Modulus,Exponent RSA 加密
最近有一个工作是需要把数据用RSA发送给Java 虽然一开始标准公钥 net和Java RSA填充的一些算法不一样 但是后来这个坑也补的差不多了 具体可以参考 http://www.cnblogs. ...
- Matlab 高脚杯模型切片
前言:此文为去年我替人做的一个课题,觉得比较简洁,图形也比较美观,因此放在博文里 数据源我放到了百度云盘高脚杯数据源 有兴趣的可以下载数据,跑程序试一下.也可以单独看看代码,看下实现过程. 主函数 % ...
- Hawk 4.6 并行化
并行化 Hawk支持单机并行化,也就是使用多线程获取数据.它可以控制目前所有任务的数量,为了不给网站造成过大的压力,仅当任务池中的任务数量小于一定值后,才会插入新的任务. 你可以在数据清洗的 执行面板 ...
- 在你的ASP.NET MVC中使用查找功能
在程序中,使用查找功能是少之不了.今天在ASP.NET环境下演示一回. 在cshtml视图中,有三个文本框,让用户输入关键词,然后点击最右连的“搜索”铵钮,如果有结果将显示于下面. Html: 表格放 ...
- 使用HTML5的cavas实现的一个画板
<!DOCTYPE html><html><head> <meta charset="utf-8"> <meta http-e ...
- ES6之变量常量字符串数值
ECMAScript 6 是 JavaScript 语言的最新一代标准,当前标准已于 2015 年 6 月正式发布,故又称 ECMAScript 2015. ES6对数据类型进行了一些扩展 在js中使 ...
- iOS微信第三方登录实现
iOS微信第三方登录实现 一.接入微信第三方登录准备工作.移动应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统.在进行微信OAuth2.0授权登录接入之前,在微信开 ...