CocoaPods使用详解

CocoaPods简介

什么是CocoaPods?每种语言发展到一个阶段,就会出现相应的依赖管理工具。好比Java 语言的 Maven,nodejs 的 npm,Android的grandle。而对于ios平台来说,CocoaPods是ios开发平台一个非常流行的第三方库管理工具。在开发过程中,根据项目复杂程度,通常我们会需要外链很多的第三方库。而添加这些第三方库的过程有时候会变成一场灾难。因此使用CocoaPods来代替我们管理这些库,将可以大幅缩短我们的开发时间。 CocoaPods项目的源码 在 Github 上管理。该项目开始于 2011 年 8 月 12 日,经过多年发展,现在已经成为 iOS 开发事实上的依赖管理标准工具。在使用CocoaPods的时候我们并不需要关注它的原理,当我们需要github上的某个开源库的时候,我们使用CocoaPods添加到我们的项目即可。

CocoaPods原理

CocoaPods的原理是将所有的依赖库都放到另一个名为Pods的项目中,然后让主项目依赖Pods项目,这样,源码管理工作都从主项目移到了Pods项目中。Pods项目最终会编译成一个名为libPods.a的文件,主项目只需要依赖这个.a文件即可。

CocoaPods安装与使用

Ruby

CocoaPods可以很方便的使用Mac自带的RubyGems安装(Mac系统默认安装了Ruby环境),如果不确定自己系统中是否有Ruby的,可以使用ruby -v来查看,如果有版本信息说明已经安装。

当然,系统的ruby是比较老的,我们可以对其进行升级。在终端输入命令:

gem update --system

如果出现上面的情况,表明你没有权限去升级Ruby。这时候我们需要使用下面的命令,并输入密码。

sudo gem update --system

当然,笔者这里已经是最新的了。

CocoaPods安装

CocoaPods的安装是非常简单的,但是需要注意的是ruby的软件源rubygems.org因为使用亚马逊的云服务,好像被我天朝隔离了。所以国内在安装的时候一般使用国内的镜像。 1,首先查看当前ruby的源:

gem sources -l 

2,移除现有的Ruby镜像:

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

3,添加国内最新镜像源(不过貌似淘宝的Ruby镜像已经不更新,所以还是建议翻墙)

gem source -a https://gems.ruby-china.org/

4,再次查看当前ruby的源

gem sources -l

如果出现如下字样,说明ruby的软件源已经设置OK了。

*** CURRENT SOURCES ***

https://ruby.taobao.org/

5,安装CocoaPods,安装命令如下:

sudo gem install cocoapods

安装过程中,常见的错误如下:

ERROR:  While executing gem ... (Errno::EPERM)

Operation not permitted - /usr/bin/xcodeproj

解决方案1: 执行下面的命令并重启。

sudo nvram boot-args="rootless=0"
sudo reboot

此时,在执行安装命令:

sudo gem install cocoapods -V

如果依旧有错误,使用第二个方法:

sudo gem install -n /usr/local/bin cocoapods
pod setup

当出现Setup completed的时候,说明CocoaPods安装成功。

注:当我们输入命令pod setup之后,界面卡住不动了,说明Cocoapods在将它的信息下载到 ~/.cocoapods里。我们可以使用命令command+n新建一个终端窗口,执行cd ~/.cocoapods/进入到该文件夹下,然后执行du -sh *来查看文件大小,每隔几分钟查看一次

CocoaPods使用

首先我们使用命令搜索下AFNetworking库,命令如下:

pod search AFNetworking

不出意外的话,会报错。

这是因为之前pod search的时候生成了缓存文件search_index.json,执行命令来删除该文件,命令如下:

rm ~/Library/Caches/CocoaPods/search_index.json

然后再次输入命令“pod search AFNetworking”进行搜索,这时会提示Creating search index for spec repo ‘master’..,然后等待一会就会有结果了。

创建Podfile文件

在工程中创建一个Podfile文件,先定位到项目目录下,然后使用命令创建Podfile文件,命令如下:

touch Podfile

然后你在你的工程目录下可以看到多了一个Podfile文件。 然后,使用vim编辑Podfile文件。

进来之后紧接着按键盘上的英文’i’键,下面的”Podsfile” 0L, 0C将变成– INSERT –。然后就可以编辑文字了,输入以下文字了。

platform :ios, '10.3'
target 'weibo' do
pod "AFNetworking", "~> 3.1.0"
end

注:’weibo’就是你自己的工程名字,platform :ios, ‘8.0’代表当前AFNetworking支持的iOS最低版本是iOS 7.0, ‘~> 3.1.0’代表要下载的AFNetworking版本是3.1.0及以上版本。 有人问,那么怎么保存输入的内容到Podfile文件中呢?先按左上角的esc键,再按:键,再输入wq,点击回车,就保存并退出去了。

下载库到Xcode中

在终端使用命令把库下载到Xcode中。命令如下:

pod install

当我们再次打开工程目录会看到多了一个后缀名为.xcworkspace文件。以后打开工程就双击这个文件打开了,而不再是打开.xcodeproj文件。

到此,关于CocoaPods的使用就讲解完了。

附件

现在Podspec文件都托管在https://github.com/CocoaPods/Specs。第一次执行pod setup时,CocoaPods会将这些podspec索引文件更新到本地的~/.cocoapods目录下,当我们想在国内的服务器建立了Cocoapods索引库的时候,我们可以按照如下的方法:

pod repo remove master

pod repo add master https://gitcafe.com/akuandev/Specs.git

pod repo update

例如,将以上代码中的 https://gitcafe.com/akuandev/Specs.git 替换成 http://git.oschina.net/akuandev/Specs.git 即可使用oschina上的镜像。

参考:http://www.jianshu.com/p/b64b4fd08d3c

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏祝威廉

HBase缓存漫谈

上一次重度使用HBase已经是两年前了。HBase能够满足上面五个要求,所以用HBase作为画像体系的主要存储引擎便水到渠成。

1212
来自专栏软件开发

一个小时学会Git

最近要与部门同事一起做技术分享,我选择了Git,因为Git 是一种在全球范围都广受欢迎的版本控制系统。在开发过程中,为了跟踪代码,文档,项目等信息中的变化,版本...

3729
来自专栏c#开发者

BizTalk高可用配置方法(故障转移集群+负载均衡)

非常感谢[chnking]写的两篇Biztalk 2009在Windows 2008 R2环境中的High Availability(Cluster群集)部署 ...

3829
来自专栏青玉伏案

Cocoa包管理器之CocoaPods详解

CocoaPods在Cocoa开发日常工作中经常用到的包管理器,即依赖管理工具。有的项目也有用Carthage的,Carthage是一个比较新的依赖管理工具,是...

1344
来自专栏移动开发面面观

Git使用教程

1、GIT是分布式的,SVN不是:这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。

1173
来自专栏腾讯云容器服务团队的专栏

Kubernetes 资源分配之 Request 和 Limit 解析

Kubernetes 是一个容器集群管理平台,Kubernetes 需要统计整体平台的资源使用情况,合理地将资源分配给容器使用,并且要保证容器生命周期内有足够的...

4.7K4
来自专栏大闲人柴毛毛

Git命令速记

生成SSH Key ssh-keygen -t rsa -C "youremail@example.com" 在用户主目录里找到.ssh目录 将id_rsa....

36510
来自专栏xcywt

记录我开始学习 Git的路程

工作半年多了,总觉得没学到什么东西,于是乎找了个Git学习一下,感觉还蛮厉害的样子。为此记录下我的路程 2015,11,26 更新   前面的路都挺艰难的,在官...

2207
来自专栏Web项目聚集地

Git常用命令速查表(收藏大全)

Git的设置文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)。

1092
来自专栏java思维导图

Git常用命令速查表(收藏大全)

Git的设置文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)。

1203

扫码关注云+社区

领取腾讯云代金券