CocoaPods的使用——第三库管理

CocoaPods是iOS开发中用于管理第三方库的工具,它解决了库的依赖关系,通过创建workspace整合第三方库。本文详细介绍了CocoaPods的安装、使用步骤及常见问题,包括安装、编辑Podfile、导入库、搜索库和更新库的操作。同时,解释了CocoaPods的工作原理和资源处理方式。

CocoaPodshttps://cocoapods.org)是一个用来管理第三方依赖库的工具,它可以解决库与库之间的依赖关系,通过CocoaPods来下载库的源代码,同时通过创建一个Xcode的workspace来将这些第三方库和我们的工程连接起来,供我们开发时使用。

 

使用步骤

步骤1安装

CocoaPods是通过Ruby实现的,MAC电脑的OS X系统默认已经可以运行Ruby了

1-1 打开Lauchpad-其他-终端

1-2 然后在终端输入安装语句

 

sudo gem install cocoapods

 

// 注意:如果cocoapods版本需要升级时,即当前版本0.39.0需要升级到最新版本1.1.0,使用升级语句
sudo gem install cocoapods --pre
// 在终端查看cocoapods的版本号的命令
pod --version

 

1-2-1 升级gem,升级成功后会提示: RubyGems system software updated

 

sudo gem update --system

 

1-3 根据提示输入密码,并按回车键『注意:输入的密码是无法显示的』

1-4 系统自动安装相关文件,最后显示如下语句

CocoaPods 0.34.0.rc2 is available.

To update use:gem install cocoapods\n

Setup completed(read-only access)

1-4-1 显示网络异常时,更改安装源

查看当前ruby的源:

gem sources -l

移除缓存中的源:

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

更新保存缓存源:

gem sources -a https://ruby.taobao.org/

更新源失败时,如下提示:
zhangshaoyudeiMac:~ snow$ gem sources -a https://ruby.taobao.org/
Error fetching https://ruby.taobao.org/:
	SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://ruby.taobao.org/specs.4.8.gz)

修改源为【https://gems.ruby-china.com】,如下:
zhangshaoyudeiMac:~ snow$ gem source -a https://gems.ruby-china.com

 

1-5 完成后输入语句继续安装

 

pod setup

 

注意:安装时使用了『gem』语句,在升级时也同样要使用『gem』语句。

 

步骤2使用

在项目中使用cocoapods,需要先通过终端创建"Podfile"文件,并在"Podfile"文件中编辑需要使用的第三方文件,最后再进行安装。同时,项目使用时,是通过"*****.xcworkspace"来使用项目了,而不是"*****.xcodeproj"来使用项目。

2-1 进入项目文件夹(通过语句"ls"查看目录,再通过"cd 目录名"打开需要的目录,如果要返回上层目录时,则通过"cd .."返回)

2-2 创建"Podfile"文件(通过语句"touch Podfile"进行创建,或通过语句"pod init",可以通过语句"ls"查看是否创建成功)

2-3-1 编辑"Podfile"文件(通过语句"vi Podfile"进入"Podfile"文件)

2-3-2 进入编辑模式(输入键盘中的"i"进入编辑模式)

2-3-3 编辑相关内容,即输入使用平台,需要使用的第三方库,如

 

platform:ios,'5.0'
pod 'Reachability','~>3.1.1'
pod 'SBJson','~>4.4.4'

 

2-3-4 保存能出(输入键盘中的"Esc"返回非编辑模式,然后再输入":wq"保存并退出)

2-4 导入第三方库(使用语句"pod install"),如果删除或新增某个第三方类库,则使用语句"pod update"

被墙时,使用语句"pod install --verbose --no-repo-update",或"pod update --verbose --no-repo-update"

2-5 导入成功后提示"[!] From now on use '*****.xcworkspace'",提示安装成功,可以使用语句"ls"查看是否存在"*****.xcworkspace","Podfile.lock","Pods"等文件。

 

使用注意事项

1 如何知道是否支付需要的第三方库

通过语句"pod search 第三方库名称"来判断是否支付所需的第三库,如"pod search AFNetworking"

2 如何删除已经安装过的第三方库

在"Podfile"文件中删除,或使用"#"进行注释且保存后,通过"pod update"进行操作

3 如何更新已经安装的第三方库

通过语句"pod update"会更新所有的第三方库(被墙时,使用语句:podupdate --verbose --no-repo-update

4 如何安装即将用到的第三方库

通过语句"pod install"安装第三方库(被墙时,使用语句:pod install --verbose --no-repo-update

5 如何安装第三方库帮助文档《使用Objective-C的文档生成工具:appledoc》

通过语句"brew install appledoc"来安装第三方库的帮助文档,并集成到Xcode中

 

操作如图所示

 

步骤1

步骤2

步骤3

步骤4

步骤5

步骤6

步骤7

 

CocoaPods的原理,它是将所有的依赖库都放到另一个名为Pods项目中,然后让主项目依赖Pods项目,这样,源码管理工作都从主项目移到了Pods项目中。
发现的一些技术细节有:
(1)Pods项目最终会编译成一个名为libPods.a的文件,主项目只需要依赖这个.a文件即可。
(2)对于资源文件,CocoaPods提供了一个名为Pods-resources.sh的bash脚本,该脚本在每次项目编译的时候都会执行,将第三方库的各种资源文件复制到目标目录中。
(3)CocoaPods通过一个名为Pods.xcconfig的文件来在编译时设置所有的依赖和参数。

 

 

 

异常处理

1、使用pod init创建Podfile文件报错时,错误提示如下:

### Error

```
RuntimeError - [Xcodeproj] Unknown object version.
/usr/local/lib/ruby/gems/2.4.0/gems/xcodeproj-1.5.4/lib/xcodeproj/project.rb:217:in `initialize_from_file'
/usr/local/lib/ruby/gems/2.4.0/gems/xcodeproj-1.5.4/lib/xcodeproj/project.rb:102:in `open'
/usr/local/lib/ruby/gems/2.4.0/gems/cocoapods-1.3.1/lib/cocoapods/command/init.rb:41:in `validate!'
/usr/local/lib/ruby/gems/2.4.0/gems/claide-1.0.2/lib/claide/command.rb:333:in `run'
/usr/local/lib/ruby/gems/2.4.0/gems/cocoapods-1.3.1/lib/cocoapods/command.rb:52:in `run'
/usr/local/lib/ruby/gems/2.4.0/gems/cocoapods-1.3.1/bin/pod:55:in `<top (required)>'
/usr/local/bin/pod:23:in `load'
/usr/local/bin/pod:23:in `<main>'
```

解决方法:

在终端使用命令"xcodeproj --version"查看xcodeproj的版本号

在终端使用命令"gem update xcodeproj"更新xcodeproj的版本号

在终端再次使用命令"pod init"初始化Podfile文件

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

番薯大佬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值