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的安装、使用、以及遇到的问题的更多相关文章

  1. iOS 最新版 CocoaPods 的安装流程

    iOS 最新版 CocoaPods 的安装流程1.移除现有Ruby默认源$gem sources --remove https://rubygems.org/2.使用新的源$gem sources - ...

  2. 最新版 CocoaPods 的安装流程

                                       iOS 最新版 CocoaPods 的安装流程     1.移除现有Ruby默认源 $gem sources --remove h ...

  3. Cocoapods的安装

    1.先升级Gem sudo gem update --system 2.切换cocoapods的数据源 [先删除,再添加,查看] gem sources --remove https://rubyge ...

  4. Cocoapods的安装,卸载和使用

    [一]Cocoapods的安装 (1)Cocoapods的官方网站为: https://cocoapods.org/ .如果你的电脑已经安装了Ruby开发环境,那么在终端(Terminal)中使用以下 ...

  5. OS10.11系统下 安装cocoapods 以及 安装cocoapods-xcode-plugin-master插件来加载三方框架

    http://www.cnblogs.com/cheng923181/p/4883476.html OS10.11系统下 安装cocoapods 以及 安装cocoapods-xcode-plugin ...

  6. 【原】iOS学习46之第三方CocoaPods的安装和使用(通用方法)

    本文主要说明CocoaPods的安装步骤.使用说明和常见的报错即解决方法. 1. CocoaPods 1>  CocoaPods简介 CocoaPods是一个用来帮助我们管理第三方依赖库的工具. ...

  7. CocoaPods的安装(图文并茂)OS X 10.11 系统

    这里是前言,可以跳过前言部分直接跳到后面"这里正式安装"开始看步骤: 系统:OS X EI Capitan 版本:10.11.2 开发工具:XCode:7.2 先给一个挺不错的关于 ...

  8. CocoaPods的安装及使用/利用开源库Diplomat实现分享及第三方登录/git的使用

    <<史上最简洁版本>> 1.gem sources -l查看 当前的源 //1.1 sudo -i..以下都是以管理员的身份来操作的 2.gem sources --remov ...

  9. CocoaPods的安装[转载]

    [转载] 原地址http://www.tuicool.com/articles/7VvuAr3 觉得很好,很有用 iOS 最新版 CocoaPods 的安装流程 1.移除现有Ruby默认源 $gem ...

随机推荐

  1. 使用 JavaScriptService 在.NET Core 里实现DES加密算法

    文章<ASP.NET Core love JavaScript>和<跨平台的 NodeJS 组件解决 .NetCore 不支持 System.Drawing图形功能的若干问题> ...

  2. SQL Server-聚焦在视图和UDF中使用SCHEMABINDING(二十六)

    前言 上一节我们讨论了视图中的一些限制以及建议等,这节我们讲讲关于在UDF和视图中使用SCHEMABINDING的问题,简短的内容,深入的理解,Always to review the basics. ...

  3. 玩转Vim 编辑器

    一:VIM快速入门 1.vim模式介绍 以下介绍内容来自维基百科Vim 从vi演生出来的Vim具有多种模式,这种独特的设计容易使初学者产生混淆.几乎所有的编辑器都会有插入和执行命令两种模式,并且大多数 ...

  4. javascript中变量提升的理解

    网上找了两个经典的例子 var foo = 1; function bar() { if (!foo) { var foo = 10; } alert(foo); } bar(); // 10 var ...

  5. [转载]Cookie/Session的机制与安全

    Cookie和Session是为了在无状态的HTTP协议之上维护会话状态,使得服务器可以知道当前是和哪个客户在打交道.本文来详细讨论Cookie和Session的实现机制,以及其中涉及的安全问题. 因 ...

  6. js数组学习整理

    原文地址:js数组学习整理 常用的js数组操作方法及原理 1.声明数组的方式 var colors = new Array();//空的数组 var colors = new Array(3); // ...

  7. 【转】 FineBI:自助式BI工具打造业务分析的“快与准”

    如今的企业经营方式,业务对于数据分析有极大的需求,但却苦于没有数据以及工具的有效支持,业务分析仍就依赖于IT报表制作.而IT方不断地按业务需求去调研.确认业务逻辑,然后取数做报表,其中还要忍受业务的需 ...

  8. ExecuteOrDelayUntilScriptLoaded 还是 SP.SOD.executeFunc?

    SharePoint 客户端 JS 开发时,要等待 SharePoint 对象都加载完毕再调用自己的方法(myFunction),可以有两种方式: ExecuteOrDelayUntilScriptL ...

  9. i++、++i 、i--、--i

    总结: i++ 先用后加, ++i先加后用: i--先用后减, --i先减后用: //int i = 1; //Console.WriteLine(i);//1 //Console.WriteLine ...

  10. SQL字符串函数

    LEN() :计算字符串长度(字符的个数.)datalength();//计算字符串所占用的字节数,不属于字符串函数.测试varchar变量与nvarchar变量存储字符串a的区别.见备注1.LOWE ...