前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CocoaPods使用详解

CocoaPods使用详解

作者头像
xiangzhihong
发布2018-02-06 17:04:11
1.6K0
发布2018-02-06 17:04:11
举报
文章被收录于专栏:向治洪

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是比较老的,我们可以对其进行升级。在终端输入命令:

代码语言:javascript
复制
gem update --system

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

代码语言:javascript
复制
sudo gem update --system

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

CocoaPods安装

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

代码语言:javascript
复制
gem sources -l 

2,移除现有的Ruby镜像:

代码语言:javascript
复制
gem sources --remove https://rubygems.org/

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

代码语言:javascript
复制
gem source -a https://gems.ruby-china.org/

4,再次查看当前ruby的源

代码语言:javascript
复制
gem sources -l

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

代码语言:javascript
复制
*** CURRENT SOURCES ***

https://ruby.taobao.org/

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

代码语言:javascript
复制
sudo gem install cocoapods

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

代码语言:javascript
复制
ERROR:  While executing gem ... (Errno::EPERM)

Operation not permitted - /usr/bin/xcodeproj

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

代码语言:javascript
复制
sudo nvram boot-args="rootless=0"
sudo reboot

此时,在执行安装命令:

代码语言:javascript
复制
sudo gem install cocoapods -V

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

代码语言:javascript
复制
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库,命令如下:

代码语言:javascript
复制
pod search AFNetworking

不出意外的话,会报错。

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

代码语言:javascript
复制
rm ~/Library/Caches/CocoaPods/search_index.json

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

创建Podfile文件

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

代码语言:javascript
复制
touch Podfile

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

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

代码语言:javascript
复制
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中。命令如下:

代码语言:javascript
复制
pod install

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

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

附件

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

代码语言:javascript
复制
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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-06-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • CocoaPods简介
    • CocoaPods原理
    • CocoaPods安装与使用
      • Ruby
        • CocoaPods安装
          • CocoaPods使用
            • 创建Podfile文件
              • 下载库到Xcode中
          • 附件
          相关产品与服务
          云服务器
          云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档