CocoaPods 安装和使用 - darcy_tang 的博客
最近换了新机器,重新搭建了开发环境,其中当然包括 CocoaPods。
装完顺便更新下 CocoaPods 安装文档。
正文
安装
CocoaPods 是用 ruby 实现的,要想使用它首先需要有 ruby 的环境。
升级ruby
查看ruby版本
$ ruby -v
ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin16]
CocoaPods需要2.2.2版本及以上的,我们先升级ruby。
使用 rvm 安装 ruby
curl -L get.rvm.io | bash -s stable
source ~/.bashrc
source ~/.bash_profile
切换 ruby 源
ruby 下载源使用亚马逊的云服务被墙了,切换国内的 ruby-china源 (https://ruby.taobao.org/已经停止维护,详情查看公告):
$ gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
$ gem sources -l
*** CURRENT SOURCES ***
https://gems.ruby-china.org
安装并切换 ruby
这里不建议安装最新的 2.4.0 版本,因为次版本的 ruby,在xcodebuild 自动打包时,会出现问题! 所以退一步,安装 2.3.3版本~
rvm install 2.3.3 --disable-binary
rvm use 2.3.3 --default
到此ruby升级完毕.
有关RVM的使用可以看这篇 RVM 使用指南
安装CocoaPods
安装
sudo gem install -n /usr/local/bin cocoapods
升级版本库
pod setup
这里需要下载版本库(非常庞大),需要等很久
Receiving objects: 72% (865815/1197150), 150.07 MiB | 190.00 KiB/s
或者直接从其他装有cocoapod的电脑中拷贝
~/.cocoapods到你的用户目录,然后再pod setup会节省不少时间
使用
创建 podfile 文件
绝大多数人创建podfile都是用 vim Podfile 命令
其实pod 已经提供了创建 podfile 文件的命令,在工程目录下
pod init
将会自动生成 podfile 文件,并且为你写好了格式,稍做修改就能使用
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
target 'projectName' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for projectName
target 'projectNameTests' do
inherit! :search_paths
# Pods for testing
end
target 'projectNameUITests' do
inherit! :search_paths
# Pods for testing
end
end
大专栏 CocoaPods 安装和使用 - darcy_tang 的博客其中的
target 'projectNameTests' do
inherit! :search_paths
# Pods for testing
end
target 'projectNameUITests' do
inherit! :search_paths
# Pods for testing
end
是指定在单元测试和UI测试时导入的测试框架,若没有使用测试框架可以删除。
修改iOS版本,添加Alamofire库
# Uncomment the next line to define a global platform for your project
# platform :ios, '8.0'
target 'projectName' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for projectName
pod 'Alamofire', '~> 4.4'
end
加载代码库
使用下面的命令,直接在本地版本库中查找对应的代码库信息,不升级版本库,节省时间
pod install --verbose --no-repo-update
若找不到库,再使用下面的命令
pod install
版本号
对版本号的操作除了指定与不指定,你还可以做其他操作:
>0.1高于0.1的任何版本>=0.1版本0.1和任何更高版本<0.1低于0.1的任何版本<=0.1版本0.1和任何较低的版本〜>0.1.2版本 0.1.2的版本到0.2 ,不包括0.2。
这个基于你指定的版本号的最后一个部分。这个例子等效于>= 0.1.2并且 <0.2.0,并且始终是你指定范围内的最新版本
结语
关于CocoaPods的安装和使用就这样简单的介绍完了,至于更多使用的方法(平时也用不到~)你可以用下面命令查看
$ pod
若对 CocoaPods 的个人仓库感兴趣,也可以看看我的这两篇博客
CocoaPods 安装和使用 - darcy_tang 的博客的更多相关文章
- libevent安装总结 - jinfg2008的专栏 - 博客频道 - CSDN.NET
libevent安装总结 - jinfg2008的专栏 - 博客频道 - CSDN.NET libevent安装总结 分类: linux 系统配置 2013-02-13 22:37 99人阅读 评论( ...
- 从一道网易面试题浅谈 Tagged Pointer - darcy_tang 的博客
前言 这篇博客九月就想写了,因为赶项目拖了到现在,抓住17年尾巴写吧~ 正文 上次看了一篇 <从一道网易面试题浅谈OC线程安全> 的博客,主要内容是: 作者去网易面试,面试官出了一道面试题 ...
- Hexo+NexT(一):在Windows下安装Hexo+NexT及搭建博客
阅读本篇之前,假定读者已经有了Node.js的基础,如需要补充Node.js知识的,请自行百度. Hexo是在Node.js框架下的一个项目,利用Node.js提供的强大功能,完成从Markdown到 ...
- 安装nodejs搭建ghost个人博客
记录一下今天在linux下折腾nodejs的过程,相互学习: (不知道为什么用源代码安装,调用npm的时候老是会出现找不到npmlog的 错误,后来换用下了个二进制 来搞,假设那个牛牛知道为什么.希望 ...
- CentOS6.9安装WordPress搭建自己的博客网站
首先说明我用的是服务器上之前装的mysql数据库,只需要配置上就行了 准备工作 CentOS6.9 在/目录下创建一个目录src,把下载的东西都放到这个文件夹下 下载Apache Httpd,下载地址 ...
- windows下安装hexo和生成博客
首先在电脑上安装node和git,这个只要在相关官网的下载然后一步安装即可. 然后在你的电脑上新建一个文件夹,用来存放你的博客文件,比如创建hexo 进入该文件,右键打开git bash 安装hexo ...
- iOS 之 Cocoapods安装
进入正题前,先来点前奏:了解cocoapods是某天看一个博客,那时才明白原来写项目不用一个个将三方库拷进项目里啊,惊讶的我是一塌糊涂的啊...(原谅我那时还没进入过正规的IT公司....好多你们自然 ...
- github page+jekyll搭博客初体验
div.oembedall-githubrepos { border: 1px solid #DDD; list-style-type: none; margin: 0 0 10px; padding ...
- 使用hexo搭建属于自己的博客
如果你喜欢拥有自己的博客域名,如果你喜欢折腾,可以先点击luckykun.com,看看效果,再选择要不要进来看看--- 之前一直都在博客园写博客,不过最近在逛园子的时候不小心看到了hexo,简直有种相 ...
随机推荐
- ElasticSearch的9200和9300端口的区别
9200用于外部通讯,基于http协议,程序与es的通信使用9200端口. 9300jar之间就是通过tcp协议通信,遵循tcp协议,es集群中的节点之间也通过9300端口进行通信.
- 23. docker 数据持久化 bind mounting
1. bind mounting 和 data volume 的区别 data volume 需要在 Dockerfile 定义 Volume bind mounting 只需要 -v 指明 容器外部 ...
- 吴裕雄--天生自然Linux操作系统:Linux 系统目录结构
登录系统后,在当前命令窗口下输入命令: ls / 你会看到如下图所示: 树状目录结构: 以下是对这些目录的解释: /bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令. /boot: ...
- Java基础三(2020.1.15)
学习内容: 1.Java流程控制之循环结构 2.Java数组 3.Java方法 1.随机数:math.random()得到0-1之间的数 math.random()*10+1得到1-10之间的 ...
- SQL: all 运算符 可以 表示 非空(NOT NULL)的意思吗?
select count(all grade) from customer; SELECT COUNT(DISTINCT customer_id) FROM customer WHERE grade ...
- JavaScript之OOP
本文介绍下js中OOP的一些用法: 由上图可得: 1.typeof null结果是object,所以需要用与运算符再次判断是否为空. 2.构造器实现重载后,可依序传入参数或传入对象. 由上图可得:要实 ...
- Git-GitHub-GitLab三者之间的联系及区别
在讲区别以及联系之前先简要的介绍一下,这三者都是什么(本篇文章适合刚入门的新手,大佬请出门左转) 1.什么是 Git? Git 是一个版本控制系统. 版本控制是一种用于记录一个或多个文件内容变化,方便 ...
- nodepad++ 让所有的加号收缩折叠展开的快捷键
折叠所有层次 Alt+0(这是零) 展开所有层次 Alt+Shift+0
- elementUI的select全选
elementUI中的el-select全选 <template> <el-select class="handle-select" size="min ...
- 我是如何在四年时间里,从厨师转行为 Serverless 应用开发者
▎本文系译文,我的软件开发入行经历非常有趣 -- 我一开始其实是厨师. 作者:KieranMcCarthy 译者:Aceyclee 我在高中时就喜欢烹饪和烘焙,用不同食材的搭配去做出美味的食物,就像个 ...