最近换了新机器,重新搭建了开发环境,其中当然包括 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

  1. 安装

     sudo gem install -n /usr/local/bin cocoapods
  2. 升级版本库

     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 的个人仓库感兴趣,也可以看看我的这两篇博客

本文首次发布于 BY Blog, 作者 @柏荧(BY) ,转载请保留原文链接.


CocoaPods 安装和使用 - darcy_tang 的博客的更多相关文章

  1. libevent安装总结 - jinfg2008的专栏 - 博客频道 - CSDN.NET

    libevent安装总结 - jinfg2008的专栏 - 博客频道 - CSDN.NET libevent安装总结 分类: linux 系统配置 2013-02-13 22:37 99人阅读 评论( ...

  2. 从一道网易面试题浅谈 Tagged Pointer - darcy_tang 的博客

    前言 这篇博客九月就想写了,因为赶项目拖了到现在,抓住17年尾巴写吧~ 正文 上次看了一篇 <从一道网易面试题浅谈OC线程安全> 的博客,主要内容是: 作者去网易面试,面试官出了一道面试题 ...

  3. Hexo+NexT(一):在Windows下安装Hexo+NexT及搭建博客

    阅读本篇之前,假定读者已经有了Node.js的基础,如需要补充Node.js知识的,请自行百度. Hexo是在Node.js框架下的一个项目,利用Node.js提供的强大功能,完成从Markdown到 ...

  4. 安装nodejs搭建ghost个人博客

    记录一下今天在linux下折腾nodejs的过程,相互学习: (不知道为什么用源代码安装,调用npm的时候老是会出现找不到npmlog的 错误,后来换用下了个二进制 来搞,假设那个牛牛知道为什么.希望 ...

  5. CentOS6.9安装WordPress搭建自己的博客网站

    首先说明我用的是服务器上之前装的mysql数据库,只需要配置上就行了 准备工作 CentOS6.9 在/目录下创建一个目录src,把下载的东西都放到这个文件夹下 下载Apache Httpd,下载地址 ...

  6. windows下安装hexo和生成博客

    首先在电脑上安装node和git,这个只要在相关官网的下载然后一步安装即可. 然后在你的电脑上新建一个文件夹,用来存放你的博客文件,比如创建hexo 进入该文件,右键打开git bash 安装hexo ...

  7. iOS 之 Cocoapods安装

    进入正题前,先来点前奏:了解cocoapods是某天看一个博客,那时才明白原来写项目不用一个个将三方库拷进项目里啊,惊讶的我是一塌糊涂的啊...(原谅我那时还没进入过正规的IT公司....好多你们自然 ...

  8. github page+jekyll搭博客初体验

    div.oembedall-githubrepos { border: 1px solid #DDD; list-style-type: none; margin: 0 0 10px; padding ...

  9. 使用hexo搭建属于自己的博客

    如果你喜欢拥有自己的博客域名,如果你喜欢折腾,可以先点击luckykun.com,看看效果,再选择要不要进来看看--- 之前一直都在博客园写博客,不过最近在逛园子的时候不小心看到了hexo,简直有种相 ...

随机推荐

  1. CSS3 box-shadow 效果大全(内阴影,外阴影,三边阴影,双边阴影,单边阴影,细线描边…)

    /* offset-x | offset-y | color */ box-shadow: 60px -16px teal; /* offset-x | offset-y | blur-radius ...

  2. Baes.css

    这个公共样式还不错 html,body,ul,li,ol,img,a,p,div,form,input,h1,h2,h3,h4.h5,h6{ margin: 0; padding: 0; /*盒模型* ...

  3. 关于图算法 & 图分析的基础知识概览

    网址:https://learning.oreilly.com/library/view/graph-algorithms-/9781492060116/ 你肯定没有读过这本书,因为这本书的发布日期是 ...

  4. Python说文解字_杂谈01

    1. Python在Ubuntu下面下载Python 2. 安装依赖包 sudo apt-get update sudo apt-get install build-essential python- ...

  5. 吴裕雄--天生自然 PHP开发学习:MySQL子句

    <?php $con=mysqli_connect("localhost","username","password","d ...

  6. Cutting Sticks UVA - 10003(DP 仍有不明白的地方)

    题意:对一根长为l的木棒进行切割,给出n个切割点,每次切割的价值,等于需要切割的木头长度. 一开始理解错了,认为切割点时根据当前木条的左端点往右推算. 实际上,左端点始终是不变的一直是0,右端点一直是 ...

  7. 关于Java自动拆箱装箱中的缓存问题

    package cn.zhang.test; /** * 测试自动装箱拆箱 * 自动装箱:基本类型自动转为包装类对象 * 自动拆箱:包装类对象自动转化为基本数据类型 * * * /*缓存问题*/ /* ...

  8. 6.windows-oracle实战第六课 --数据管理

    数据库管理员: 每个oracle数据库应该至少有一个数据库管理员(dba),对于一个小的数据库,一个dba就够了,但是对于一个大的数据库可能需要多个dba分担不同的管理职责. 对于dba来说,会权限管 ...

  9. 2019-2020-1 20199324《Linux内核原理与分析》第九周作业

    第八章 进程的切换和系统的一般执行过程 1.进程调度的时机 硬中断和软中断 中断:在本质上都是软件或者硬件发生了某种情形而通知处理器的行为,处理器进而停止正在运行的指令流(当前进程),对这些通知做出相 ...

  10. linux上systemctl使用

    转载:https://www.cnblogs.com/zdz8207/p/linux-systemctl.html Linux服务器,服务管理--systemctl命令详解,设置开机自启动 syete ...