CocoaPods的安装和使用那些事(Xcode 7.2,iOS 9.2,Swift)
Using The CocoaPods to Manage The Third Party Open-source Libaries
介绍
CocoaPods是用来管理你的Xcode项目的依赖库的。使用一个名叫Podfile的文件来描述你的项目的依赖关系。CocoaPods会解析库之间的依赖关系,获取库的源代码,然后再Xcode的工作空间中将他们链接在一起来构建你的项目。归根结底,CocoaPods的目的是,通过创建一个更加集中的生态的系统来提高第三方开源库的可发现性和可管理性
注:以上是CocoaPods官网对其的介绍(磕巴的英语,望见谅)https://guides.cocoapods.org/using/getting-started.html
安装
更新ruby的gem(gem版本过老时需要先更新)
apple$ sudo gem update --system
使用gem命令下载并安装CocoaPods
apple$ sudo gem install cocoapods
将ruby的源替换成国内的源
apple$ gem sources --remove https://rubygems.org/
apple$ gem sources --add https://ruby.taobao.org/
将podspec索引文件更新到本地
apple$ pod setup
下载完成后,通过路径~/.CocoaPods查看所下载的内容,如图

使用
搜索
apple$ pod search snapkit
结果如图:

切换到项目的一级目录,如:/Users/apple/Desktop/testCocoaPods;创建podfile文件
apple$ cd cd /Users/apple/Desktop/testCocoaPods
testCocoaPods$ vim podfile
在podfile文件中描述项目所依赖的库
platform :ios
pod 'SnapKit'
如图:

下载依赖的第三方库,并将项目构建在一个工作空间内
apple$ pod install
注意:
此时是无法下载成功的,会提示如图所示的错误信息

以上错误原因是:没有指点iOS的版本,指定iOS的版本
platform :ios, '9.0'
pod 'SnapKit'
此时仍无法更新成功,会提示如图所示的错误信息

以上错误的原因是:Apple不允许你编译包含swift的静态库,详细原因:(http://stackoverflow.com/questions/29091522/error-running-pod-install-with-swift),修改podfile文件
platform :ios '9.0'
use_frameworks!
pod 'SnapKit'
执行pod install命令,成功下载SnapKit库的源文件,会提示如图所示的成功信息

- 其中的podfile.lock文件用于锁定当前各个依赖库的版本
查看集成了第三方库SnapKit的项目
项目中文件如图所示

打开上图所示的testCocoaPods.xcworkspace文件,项目的文件结构如图所示

pod install与pod update命令
两者执行之前在执行之前,默认会先更新一次podspec索引。若要禁用,请使用如下命令:
apple$ pod install --no--repo--update
pod install不会改变podfile.lock(避免依赖库的版本升级时,协作开发的多个开发者的项目的依赖库的版本不一致),pod update会改变,因此每次改变了podfile文件都需要执行一次pod update操作
CocoaPods的安装和使用那些事(Xcode 7.2,iOS 9.2,Swift)的更多相关文章
- CocoaPods的安装、使用、以及遇到的问题
CocoaPods是什么? 当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等.可能某个类库又用到其他类库,所以要使用它,必须得另外下载其他类库,而 ...
- iOS 最新版 CocoaPods 的安装流程
iOS 最新版 CocoaPods 的安装流程1.移除现有Ruby默认源$gem sources --remove https://rubygems.org/2.使用新的源$gem sources - ...
- 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 ...
- 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 ...
- iOS 最新版 CocoaPods 的安装使用
当在开发iOS应用时,会经常使用到很多的第三方开源类库,一般的方法是直接从GitHub下载,然后拖到项目中使用,如果该开源类库不依赖其他的类库,就可以直接使用:如果该开源类库还依赖一些其他的类库,则需 ...
- 【转】CocoaPods的安装以及遇到的坑
一.CocoaPods是什么? CocoaPods是一个用Ruby写的.负责管理iOS项目中第三方开源库的工具,CocoaPods能让我们集中的.统一管理第三方开源库,为我们节省设置和更新第三方开源库 ...
- 2016 Mac OS 10.11 CocoaPods的安装问题
CocoaPods的安装问题: 1.首先用淘宝的Ruby镜像来访问CocoaPods,打开终端输入以下命令: (1)gem sources --remove https://rubygems.org ...
随机推荐
- for of 与 for in的区别
遍历数组通常使用for循环,ES5的话也可以使用forEach,ES5具有遍历数组功能的还有map.filter.some.every.reduce.reduceRight等,只不过他们的返回结果不一 ...
- 【转】Validate + Boostrap tooltip 表单验证示例
一.工具准备: 1.boostrap: 下载地址 http://getbootstrap.com/ jquery: jQuery版本需大于或等于1.8.0 jquery.validate.min.j ...
- Emit学习(2) - IL - 对象的创建过程
上一篇的介绍中, 并没有介绍到对象的创建过程, 这一篇主要就介绍一下, 对象的创建过程. 其实熟悉了IL语法之后, 完全可以用Reflector反编译代码去查看. 而且正因为有这个工具, 可以对照着R ...
- [Asp.net 5] DependencyInjection项目代码分析4-微软的实现(2)
在 DependencyInjection项目代码分析4-微软的实现(1)中介绍了“ServiceTable”.“ServiceEntry”.“IGenericService”.“IService”. ...
- 再一个客户端设置多个git账号
步骤一:用ssh-keygen命令生成一组新的id_rsa_new和id_rsa_new.pub. ssh-keygen -t rsa -C "new email" 平时我们都是直 ...
- lua的string.gsub初使用
今天在学习lua,熟悉项目代码的过程中,发现string.gsub好高级,所以在此mark下. 以下是lua5.1的官方文档介绍. string.gsub (s, pattern, repl [, n ...
- 不可或缺 Windows Native (16) - C++: 函数重载, 缺省参数, 内联函数, 函数模板
[源码下载] 不可或缺 Windows Native (16) - C++: 函数重载, 缺省参数, 内联函数, 函数模板 作者:webabcd 介绍不可或缺 Windows Native 之 C++ ...
- HDU 5091---Beam Cannon(线段树+扫描线)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5091 Problem Description Recently, the γ galaxies bro ...
- python套接字基本使用
socket socket通常也称作"套接字",用于描述IP地址和端口,应用程序通常通过"套接字"向网络发出请求或者应答网络请求,可以认为是一种计算机网络的数据 ...
- Elasticsearch5.0.1索引压测结果
说明 以下的所有指标均指的是某台机器的峰值 机器配置 cpu:12 core,32G,ES 分配JVM内存18G3台虚拟机,master.data共用shard:5,replica:1 试验时间:20 ...