兵器簿之cocoaPods的安装和使用
以前添加第三方库的时候总是直接去Github下载然后引入,但是如果这些第三方库发生了更新,我们还需要手动去更新项目,所以现在引入之前一直想弄都一直没有弄的cocoaPods,现在演示一把过程
其实非常简单,只不过流程复杂了点哈哈,遇到问题解决了就好了。
一、安装要先有Ruby环境
其实我们的Mac默认是自带了Ruby环境的,可以通过命令行ruby -v查看当前Ruby的版本。Ruby环境太低可以再去摸索一把。
二、Ruby镜像替代
1、有了ruby环境之后,我们就可以开始安装,通过终端我们输入以下指令:
$ sudo gem install cocoapods
2、你会发现根本木有反应,没错啦,需要FQ!但是我们有一个更好的办法,就可以开始安装通过淘宝的Ruby镜像来访问Cocoapods,在终端输入如下命令将Ruby镜像替换为淘宝的:
$ gem sources --remove https://rubygems.org/
$ gem sources -a http://ruby.taobao.org/

看到上面图上的效果,说明更换成功啦!
三、新建一个项目
比如说这里我们新建了一个test111的项目[当然本来就有就无视了]

四、集成第三方库
1、接下来我们要集成一个第三方库,比如说JSONKit,可以先通过如下命令来判断它是否支持CocoaPods:
$ pod search JSONKit
使得到这样的结果选择我们要更新的版本1.5pre:

2、定位到当前项目的目录下,比如我的是:
$ cd Desktop/svn/test111
3、然后输入vim 来新建一个文件,这个文件是test111工程在同一级目录下的[名字一定不能写错!]:
$ vim Podfile
4、通过vim打开文件后按 i 进入插入模式,编辑下面的内容,

5、完成后按 esc 退出编辑模式,接着输入:wq 保存并退出文件

6、接下来我们开始安装,输入下面的指令:
$ pod install
7、你会发现根本没有动静,确切的说是卡在了Analyzing dependencies不动!
【其实是使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都会卡在了Analyzing dependencies不动
原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少】,根据需求输入下面的指令:
$ pod install --verbose --no-repo-update
如下图:

8、接下来我们会在目录中发现多了几个文件,这时候我们通过上图可以得知,它在提醒我们通过test111.xcworkspace这个工程来打开我们的工程

所以我们可以打开test111.xcworkspace,可以看到多了一个Pods的工程,还有已经引入了我们的第三方文件:

9、但实际上我们还需要最后一步,因为我们会发现我们在代码中引用还是没有搜到这个JSONKit.h或者其他文件
因为我们还需要在 target-Build Settings下修改 “User Header Search Paths” 项,新增 ${SRCROOT}并选择 rcursive

完成这些步骤才算成功!
五、增加新的第三方库或者更新
1、类似的只需要修改Podfile,同样用上面的 vim 编辑的那个保存在项目根目录中的文件,修改完了Podfile文件,重新执行一次pod install命令:
$ pod update --verbose --no-repo-update
2、查找库:
$ pod search UI
兵器簿之cocoaPods的安装和使用的更多相关文章
- CocoaPods的安装、使用、以及遇到的问题
CocoaPods是什么? 当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等.可能某个类库又用到其他类库,所以要使用它,必须得另外下载其他类库,而 ...
- 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 ...
随机推荐
- idea中mybatis generator自动生成代码配置 数据库是sqlserver
好长时间没有写博客了,最近公司要用java语言,开始学习java,属于初学者,今天主要记录一下mybatis generator自动生成代码,首先在如下图的目录中新建两个文件,如下图 generato ...
- 深入理解Java虚拟机(一)
一.运行时数据区域 1.程序计数器: 当前线程执行字节码的行号指示器(通过改变计数器的值来选择下条需要执行的字节码指令) 每个线程有独立的程序计数器(线程私有,为了切换线程时能恢复到挣钱的执行位置 ...
- Visual Studio快捷键大全
快捷键的使用可以简化大家的操作,在一定程度上提高工作的效率,下文中将为大家介绍一些VS中经常用到的快捷键,希望对大家有用. 方法/步骤 关于解决方案和项目 用于快速跳转 用于代码的文本编辑 ...
- C语言的结构体
举例,一个结构体的定义如下: typedef struct _foo { ]; int age; int sex; } foo; 对齐 如果直接对上面的结构体作sizeof()运算: printf( ...
- 如何用BarTender 2016字处理器完成表格设计
很多时候,需要应客户要求,用BarTender 2016设计带表格的标签.在BarTender 2016中字处理器文本对象可以使用字处理中的诸多格式功能(如项目符号.编号列表.表格.混合字体以及RTF ...
- “NHibernate.Cfg.Configuration 的类型初始值设定项引发异常。”的解决方法【备忘】
今天搞到NHibernate时,突然报了一个“NHibernate.Cfg.Configuration 的类型初始值设定项引发异常.”的异常. 详细异常信息“System.IO.FileLoadExc ...
- linux 中搜索命令的对比
1.find find是最常用和最强大的查找命令.它能做到实时查找,精确查找,但速度慢. find的使用格式如下: #find [指定目录] [指定条件] [指定动作] 指定目录:是指所要搜索的目录和 ...
- python内存泄漏,python垃圾手动回收,1
部署的舆情系统,内存变大,找原因. 一个小例子. def func(): local_list = list(range(10000000)) func() time.sleep(200) 能够观察到 ...
- [原] unity3d动态加载脚本
本文记录如何通过unity3d进行脚本资源打包加载 1.创建TestDll.cs文件 public class TestDll : MonoBehaviour { void Start () { ...
- iphone弹出窗口效果的制作(Core animation, CALayer)
效果类似人人网微薄客户端的弹出效果 static CGFloat kTransitionDuration = 0.3; - (void)initView { UIWindow *window = [U ...