文档章节

cocoapods 安装与使用

hanbing94
 hanbing94
发布于 2017/07/13 16:36
字数 1828
阅读 3
收藏 0
点赞 0
评论 0

CocoaPods安装及使用

  CocoaPods是ios开发平台一个非常流行的第三方库管理工具。在开发过程中,根据项目复杂程度,通常我们会需要外链很多的第三方库。而添加这些第三方库的过程有时候会变成一场灾难。因此使用CocoaPods来代替我们管理这些库,将可以大幅缩短我们的开发时间。

  在使用CocoaPods的时候我们并不需要关注它的原理,简单来讲它相当于将github上的第三方库checkout到你的项目工程目录中,再直接将这些库的链接添加到你的工程中。并且之后你也可以通过简单的命令对这些库进行更新。

  以下就来了解一下CocoaPods的安装过程以及使用方法:

1.环境配置

  笔者使用的开发环境是Mac OS X 10.11,XCode 7.3。CocoaPods的安装和使用需要有Ruby环境(Mac系统默认安装了Ruby环境,如果系统没有Ruby环境的可以去百度,有很多相关的文档)。不确定自己系统中是否有Ruby的,可以在终端中输入命令行:ruby -v查看当前ruby版本。

$ruby -v
ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin15]

  如果确认系统中已经有Ruby环境的,就可以继续下面的安装步骤了。

1.安装

  CocoaPods的安装是非常简单的,但是前提是你的网速够快并且能绕过GFW(这就是为什么程序员必须要有vpn)。

  确保网速够快(能绕过GFW)的,可以直接执行下面命令:

$sudo gem install cocoapods

  如果执行了这句命令以后,终端很长时间都没有反应,那么就可以确定你没有绕过GFW了。这样的话你就需要按照以下步骤进行安装了:

  首先,检查你的ruby源:

$gem sources -l

  默认情况下,终端应该返回如下信息:

*** CURRENT SOURCES ***

https://rubygems.org/

  当然这个源在墙内是访问不到的。因此我们需要寻找一个可以在国内访问到的镜像。目前笔者找到的是http://rubygems-china.oss.aliyuncs.com这个阿里云的镜像,当然随着时间的推移,未来这个镜像也有可能无法访问了,到时候就只能重新寻找了。

  确认镜像可用后,现在就要开始修改ruby源了。首先执行以下命令删除原来的ruby源:

$gem sources --remove https://rubygems.org/

  执行命令后可在终端看见以下信息:

https://rubygems.org/ removed from sources

  然后下一步添加你找到的可用的镜像源:

$gem sources -a http://rubygems-china.oss.aliyuncs.com

  此时如果你再执行gem sources -l命令,就能看到当前镜像源里只有阿里云这一个了。此时你就可以重新执行这一段开头的那句命令了:

$sudo gem install cocoapods

  如果一切正常,你应该能看到一段安装进度,以及最后有一条信息:

3 gems installed

  确认看见这条信息,就说明你的安装已经成功了,接下去就可以开始准备在你的项目中使用CocoaPods了。

2.使用

  CocoaPods的使用我们以一个ios上非常通用的AFNetworking为例。首先,你需要检查你要添加的第三方库是否支持CocoaPods。在终端中执行以下命令:

$pod search AFNetworking

  执行以后你应该能看到类似如下的一些关于AFNetworking库的信息:

复制代码

-> AFNetworking (3.1.0)
   A delightful iOS and OS X networking framework.
   pod 'AFNetworking', '~> 3.1.0'
   - Homepage: https://github.com/AFNetworking/AFNetworking
   - Source:   https://github.com/AFNetworking/AFNetworking.git
   - Versions: 3.1.0, 3.0.4, 3.0.3, 3.0.2, 3.0.1, 3.0.0, 3.0.0-beta.3,
   3.0.0-beta.2, 3.0.0-beta.1, 2.6.3, 2.6.2, 2.6.1, 2.6.0, 2.5.4, 2.5.3, 2.5.2,
   2.5.1, 2.5.0, 2.4.1, 2.4.0, 2.3.1, 2.3.0, 2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2.0,
   2.1.0, 2.0.3, 2.0.2, 2.0.1, 2.0.0, 2.0.0-RC3, 2.0.0-RC2, 2.0.0-RC1, 1.3.4,
   1.3.3, 1.3.2, 1.3.1, 1.3.0, 1.2.1, 1.2.0, 1.1.0, 1.0.1, 1.0, 1.0RC3, 1.0RC2,
   1.0RC1, 0.10.1, 0.10.0, 0.9.2, 0.9.1, 0.9.0, 0.7.0, 0.5.1 [master repo]
   - Subspecs:
     - AFNetworking/Serialization (3.1.0)
     - AFNetworking/Security (3.1.0)
     - AFNetworking/Reachability (3.1.0)
     - AFNetworking/NSURLSession (3.1.0)
     - AFNetworking/UIKit (3.1.0)

复制代码

  确认AFNetworking库支持CocoaPods后,接下去我们就可以开始做添加操作了。

  首先在XCode中新建一个project,笔者在这里命名为CocoaPodsTest。然后,在终端中cd到你的project所在的目录:

$cd /CocoaPodsTest

  然后,执行命令:

$vim Podfile

  添加一个Podfile文件。然后按i进入插入模式,进行编辑,在文件中输入以下内容:

platform :ios, '8.1'
pod 'AFNetworking', '~> 2.0'

  输入完成后按ESC退出编辑模式,最后输入:wq保存并退出文件。此时可以发现在项目目录下多了一个Podfile的文件,请注意这个文件必须与.xcodeproj在同一目录下。

  (眼尖的朋友可能已经发现了,笔者这里使用的AFNetworking是2.0版本,而search出来的最新版本是3.1.0。这是为了下面执行update方便而进行的设置,这里可以直接填3.1.0)

  不要改变终端中的当前目录,执行以下命令:

$pod install

  就可以在当前项目中添加CocoaPods支持。安装完成后可以看到如下信息:

复制代码

[!] Please close any current Xcode sessions and use `CocoaPodsTest.xcworkspace` for this project from now on.

Sending stats

Pod installation complete! There is 1 dependency from the Podfile and 1 total pod installed.

复制代码

  该信息表示CocoaPods已成功添加到当前项目中。同时“1 dependency from the Podfile”的意思就是Podfile文件中的AFNetworking库也添加完毕。同时在项目目录下你能发现多了Pods目录以及一个.xcworkspace文件。上面[!]后面提示的信息表示你需要在XCode中关闭现在这个CocoaPodsTest.xcodeproj,并且以后使用CocoaPodsTest.xcworkspace文件打开工程。

  这个时候你打开xcworkspace,应该可以看见Pods已经被添加到工程,并且在Pods组里面,也包含了AFNetworking库。

  这样,我们就完成了CocoaPods从安装到添加到工程的整个流程。而对于已经使用了CocoaPods的工程,可以通过CocoaPods的update功能直接更新包含的第三方库。

3.更新

  CocoaPods可以非常简单的使用update语句直接更新所有第三方库,以下仍然使用AFNetworking为例。

  首先,我们可以看到前面笔者使用的AFNetworking库,是使用的2.0版本。然而pod search AFNetworking命令执行的时候,能看到AFNetworking目前最新的版本是3.1.0。接下去我们就来看要如何将目前的第三方库版本更新到最新的版本。

  同样先cd到项目目录下,并且开始编辑Podfile文件:

$cd /CocoaPodsTest
$vim Podfile

  将Podfile文件中AFNetworking这一行的2.0改成3.1.0:

platform :ios, '8.1'
pod 'AFNetworking', '~> 3.1.0'

  修改完成后,按ESC退出编辑模式,最后输入:wq保存并退出文件。

  然后回到终端,执行以下命令就可以开始更新了:

$pod update

  可以看到在返回的信息中有一行绿色的信息:

Installing AFNetworking 3.1.0 (was 2.6.3)

  这就表示项目中的AFNetworking库已经更新到3.1.0版本了。

4.小结

  CocoaPods的功能非常强大,更高级的使用需求可以访问CocoaPods的官网https://cocoapods.org/ 查找更多功能。另外在https://github.com/CocoaPods/CocoaPods/wiki 也可以获得更多信息。

  本文参考了

  http://cnbin.github.io/blog/2015/05/25/cocoapods-an-zhuang-he-shi-yong/

  http://code4app.com/article/cocoapods-install-usage

  两位分享的内容,在这里致以诚挚的谢意。

© 著作权归作者所有

共有 人打赏支持
hanbing94
粉丝 2
博文 66
码字总数 38602
作品 0
朝阳
Mac 安装Homebrew 以及brew update

0、前提"安装CocoaPods 因为最近两天我更换了ssd固态硬盘和重装了 macOS Sierra 10.12系统,需要重新安装cocoaPods Xcode8 macOS Sierra 10.12 安装CocoaPods 我在安装过程pod setup遇到问题...

朝雨晚风 ⋅ 2016/12/20 ⋅ 0

CocoaPods安装遇到的问题

--------------- 原文地址:传送门 第一步:sudo gem update --system 如果失败则用这条语句 sudo gem install -n /usr/local/bin cocoapods 如果是最新版的会出现Latest version currently ...

qq_28379951 ⋅ 04/11 ⋅ 0

ios-项目组件化(准备工作)

 最近公司业务不是很忙,自己抽出时间对现有的开发项目准备进行组件化模式开发;由于公司项目架构在开始搭建的时候没有用到cocoapods进行三方包管理,三方包的工程环境都是需要手动去完成配...

Peter_Zhang ⋅ 05/23 ⋅ 0

填坑系列之更新CocoaPods

我们都知道在iOS开发中,经常会使用到第三方库,CocoaPods是一个负责管理iOS项目中第三方开源库的工具,使用非常广泛。 CocoaPods的具体使用方法网上有很多,这里不再赘述。在使用pod insta...

充电实践 ⋅ 05/05 ⋅ 0

react-native项目集成到现有原生项目

使用cocoapods集成react-native到现有原生项目 一、可参考react-native官网:http://reactnative.cn/docs/0.49/integration-with-existing-apps.html#content 二、集成步骤: 设置项目目录结...

Peter_Zhang ⋅ 06/12 ⋅ 0

使用CocoaPods出错,[!] Oh no, an error occurred.

今天在新项目中使用指令时,出现了[!] Oh no, an error occurred.报错。 首先查看CocoaPods的版本号,发现版本比较低,打算升级CocoaPods试一下。 命令行更新步骤 当我执行命令时,又出现了一...

HHL_ ⋅ 04/24 ⋅ 0

Failed to connect to GitHub to update the CocoaPods/Specs specs repo 问题

https://www.jianshu.com/p/a502eb72b689 今天pod search 一个库时发现搜索到的版本比github上的最新版本旧,于是采用下面的命令更新Cocoapods的库 执行后却报了下面的错误: 这是为何呢,明...

壹峰 ⋅ 04/19 ⋅ 0

构建你的Office 365开发环境 - IOS版

博客地址:http://blog.csdn.net/FoxDave 本文主要介绍在开始创建应用之前,如何构建你的Office 365开发环境去调用Office 365 API。 构建Office 365开发环境包含了三个一次性的工作: 下载开...

justinliu927 ⋅ 04/16 ⋅ 0

ios开发之cocoapods导入新三方库报错RuntimeError - [Xcodeproj] Unknown object version.

当报此错误时:是因为Xcode升级导致cocoapods的版本低了,所以需要升级cocoap 1、sudo gem install cocoapods 回车 2、输入密码 3进入自己的文件 pod install...

ziyuzhiye ⋅ 05/08 ⋅ 0

iOS 的多功能提示控件 - BSYAlertBox

BSYAlertBox 是一款多功能提示控件,支持居中/居左/居右/居上/居下等显示,具体可以看实现样例,可以自定义背景颜色/字体颜色等,希望大家喜欢并 Star 支持。现在已经支持 cocoapods 安装。...

白仕云 ⋅ 05/17 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JavaScript零基础入门——(八)JavaScript的数组

JavaScript零基础入门——(八)JavaScript的数组 欢迎大家回到我们的JavaScript零基础入门,上一节课我们讲了有关JavaScript正则表达式的相关知识点,便于大家更好的对字符串进行处理。这一...

JandenMa ⋅ 今天 ⋅ 0

sbt网络问题解决方案

转自:http://dblab.xmu.edu.cn/blog/maven-network-problem/ cd ~/.sbt/launchers/0.13.9unzip -q ./sbt-launch.jar 修改 vi sbt/sbt.boot.properties 增加一个oschina库地址: [reposit......

狐狸老侠 ⋅ 今天 ⋅ 0

大数据,必须掌握的10项顶级安全技术

我们看到越来越多的数据泄漏事故、勒索软件和其他类型的网络攻击,这使得安全成为一个热门话题。 去年,企业IT面临的威胁仍然处于非常高的水平,每天都会看到媒体报道大量数据泄漏事故和攻击...

p柯西 ⋅ 今天 ⋅ 0

Linux下安装配置Hadoop2.7.6

前提 安装jdk 下载 wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz 解压 配置 vim /etc/profile # 配置java环境变量 export JAVA_HOME=/opt/jdk1......

晨猫 ⋅ 今天 ⋅ 0

crontab工具介绍

crontab crontab 是一个用于设置周期性被执行的任务工具。 周期性执行的任务列表称为Cron Table crontab(选项)(参数) -e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该...

Linux学习笔记 ⋅ 今天 ⋅ 0

深入Java多线程——Java内存模型深入(2)

5. final域的内存语义 5.1 final域的重排序规则 1.对于final域,编译器和处理器要遵守两个重排序规则: (1)在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用...

江左煤郎 ⋅ 今天 ⋅ 0

面试-正向代理和反向代理

面试-正向代理和反向代理 Nginx 是一个高性能的反向代理服务器,但同时也支持正向代理方式的配置。

秋日芒草 ⋅ 今天 ⋅ 0

Spring 依赖注入(DI)

1、Setter方法注入: 通过设置方法注入依赖。这种方法既简单又常用。 类中定义set()方法: public class HelloWorldOutput{ HelloWorld helloWorld; public void setHelloWorld...

霍淇滨 ⋅ 昨天 ⋅ 0

马氏距离与欧氏距离

马氏距离 马氏距离也可以定义为两个服从同一分布并且其协方差矩阵为Σ的随机变量之间的差异程度。 如果协方差矩阵为单位矩阵,那么马氏距离就简化为欧氏距离,如果协方差矩阵为对角阵,则其也...

漫步当下 ⋅ 昨天 ⋅ 0

聊聊spring cloud的RequestRateLimiterGatewayFilter

序 本文主要研究一下spring cloud的RequestRateLimiterGatewayFilter GatewayAutoConfiguration @Configuration@ConditionalOnProperty(name = "spring.cloud.gateway.enabled", matchIfMi......

go4it ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部