IOS学习7——cocoapod安装与使用教程
一、CocoaPods简述
iOS开发时,项目中经常会需要引用第三方框架库,如果每用到一个第三方框架哦我们都需要取网上download然后导入项目中则会非常麻烦,在管理上也会很混乱。为了解决这一问题,CocoaPods(https://github.com/CocoaPods/CocoaPods)的出现适得其实。CocoaPods可以用来方便地对第三方库所需的环境和更新进行统一管理,并且大多数的第三方框架库也都支持CocoaPods。
二、CocoaPods安装
安装步骤分为两步:
- 先安装CocoaPods所需的Ruby环境(目前一般Mac的OS版本都会自带Ruby环境,所以第一步其实是可以省略。。),可以通过终端(terminal)中输入 来查看目前安装的ruby环境的版本,如下图
ruby -v
- 安装cocoapods ,终端输入:
sudo gem install cocoapods
但是,如果你在天朝,在终端中敲入这个命令之后,会发现半天没有任何反应。原因无他,因为那堵墙阻挡了cocoapods.org。(你会问,我靠,这都要墙!是的,小编也纳闷。)
但是,是的,又但是(不过是个可喜的“但是”)。我们可以用淘宝的Ruby镜像来访问cocoapods。按照下面的顺序在终端中敲入依次敲入命令来修改cocoapod的安装镜像:
1 //删除当前的ruby镜像链接
2 $ gem sources --remove https://rubygems.org/
3
4 //等有反应之后再敲入以下命令,重新链接ruby的镜像地址为淘宝的镜像
5
6 $ gem sources -a http://ruby.taobao.org/
7
8 为了验证你的Ruby镜像是并且仅是taobao,可以用以下命令查看:
9
10 $ gem sources -l
11
12 只有在终端中出现下面文字才表明你上面的命令是成功的:
13
14 *** CURRENT SOURCES ***
15
16 http://ruby.taobao.org/
17
18 //然后再输入安装cocoapods命令
19
20 sudo gem install cocoapods
新建一个项目,名字PodTest
2、 终端中,cd到项目总目录(注意:包含PodTest文件夹、PodTest.xcodeproj、PodTestTest的那个总目录)
cd /Users/lucky/Desktop/PodTest
Tip: CocoaPods provides a pod init
command to create a Podfile with smart defaults. You should use it.
cd到项目目录下之后,执行pod init 自动会生成Podfile文件
接着上一步,终端输入 vim Podfile,打开一个窗口之后,把需要第三方加上。下面截图是我个人的。(进入编辑器默认是查看状态,键盘按i切换到编辑状态)
pod 'AFNetworking', '~> 3.0'
注意:键盘输入 :编辑完之后,先按ESC才能输入wq后回车,关闭编辑器。
然后发现PodTest项目总目录中多一个Podfile文件
激动人心的时刻到了:确定终端cd到项目总目录,然后输入 pod install,等待一会,大约3分钟。
注意:第一次 pod install可能由于网络原因,非常非常慢,此时需要淡定
//Cocoapods在将它的信息下载到 ~/.cocoapods里
//cd 到该目录里,用du -sh *命令来查看文件大小,根据文件大小,判断是否正在安装
//在终端输入:
cd ~/.cocoapods
du -sh *
安装成功:
查看项目根目录:
注意:现在打开项目不是点击 PodTest.xodeproj了,而是点击 PodTest.xcworkspace
OK!CocoaPods就介绍完了,如果需要导入其他第三方库,修改Podfile文件就可以了。
- silverlight于javascript通信
- 微信上线小游戏:对流量基础入口应用商店革命
- Appium Desktop 使用
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(36)-文章发布系统③-kindeditor使用
- Windows Server 2008 R2 下配置证书服务器和HTTPS方式访问网站
- .Net 转战 Android 4.4 日常笔记(7)--apk的打包与反编译
- 丰富的silverlight控件
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(35)-文章发布系统②-构建项目
- .Net 转战 Android 4.4 日常笔记(6)--Android Studio DDMS用法
- 机器学习加密货币IOTA在机构支持下跃起
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(34)-文章发布系统①-简要分析
- WCF技术剖析之六:为什么在基于ASP.NET应用寄宿(Hosting)下配置的BaseAddress无效
- 微信发布了小游戏,这一次腾讯 vs 世界
- .Net 转战 Android 4.4 日常笔记(5)--新软件Android Studio 0.5.8安装与配置及问题解决
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- C语言将float拆分为4个hex传输与重组
- C语言字符串相关函数使用示例 strtok_r strstr strtok atoi
- FreeRTOS例程1-基础任务创建
- ARouter路由记录
- java的DES和3DES加解密算法
- Flink 批处理算子详解
- Flink 流计算算子函数详解
- TensorFlow-手写数字识别(三)
- 常用字节转换(字符串转16进制,16进制转字符串)
- TensorFlow-手写数字识别(二)
- TensorFlow-手写数字识别(一)
- OpenCV-简易答题卡识别
- Flink 原理详解
- FreeRTOS例程2-任务挂起恢复与使用中断遇到的坑!
- Puppeteer自动化的性能优化与执行速度提升