程序员面试闪充--Cocopods详解
Posted 程序员面试闪充
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了程序员面试闪充--Cocopods详解相关的知识,希望对你有一定的参考价值。
一、介绍
CocoaPods是开发OSX和iOS应用程序的一个第三方库的依赖管理工具。利用CocoaPods,可以定义自己的依赖关系(称作pods),并且随着时间的变化,以及在整个开发环境中对第三方库的版本管理非常方便。
优点:
快速查找新的第三方库。替换旧的框架(缩短开发周期和提升软件质量)
在引入第三方库时自动配置编译选项,减少错误。
原理:将所有的依赖库都放到另一个名为Pods的项目中,让主项目依赖Pods项目,如此一来,所有的源码管理工作都从主项目中移到了Pods项目中。
1)Pods项目最终会编译成一个名为libPods.a的文件,主项目只需要依赖这个.a文件即可。
2)对于资源文件,Cocoapods提供了一个名为Pods-resources.sh的bash脚本,该脚本在每次项目编译的时候都会执行,将第三方库的各种资源文件复制到目标目录中。
3)CocoaPods通过一个名为Pods.xconfig的文件来编译时设置所有的依赖参数。
远程索引库里存放的是各种框架的描述信息,这个库托管在 Github 上。
在 install cocoapods 命令后,需要执行 pod setup 这个命令,pod setup 命令就是将远程索引库克隆到本地来。
当执行 pod search 命令时,如果本地索引文件不存在,会创建这个文件,如果这个文件存在,则会在此文件中进行索引,确认所需要的框架是否存在。
二、安装
1、升级Gem
系统太老可能会有问题,所以安装之前最好升级一下gem
2、切换cocoapods的数据源
cocoapods的数据源在国外,在国内访问速度会特别慢,隐藏将数据源切换到tabbao。先删除数据源,再添加和查看。
gem sources --remove https://rubygems.org/
gem sources -a https://ruby.taobao.org/
gem sources -l
3、安装cocoapods
sudo gem install cocoapods
sudo gem install -n/usr/local/bin cocoapods (10.11以上的系统)
podspec能管理许多的第三方库。切换步骤是先删除再添加再更新。
并不是所有的库都在Podspec的管辖范围之内的,如何确定第三方库是否被Podspec托管了呢?
在github上输入库名,若发现有文件以.podspec结尾,就可以确定它被托管了。
pod repo remove master
pod repo add master http://git.oschina.net/akuandev/Specs.git
pod repo add master https://gitcafe.com/akuandev/Specs.git
pod repo update
之后就陷入了漫长的等待中……
5、设置pod仓库
6、测试
pod --version
如果终端显示了版本号,则说明cocoapods安装成功。
三、使用
1、利用cocoapods来安装第三方框架
进入要安装框架的项目的.xcodeproj同级的文件夹
在该文件中新建一个podfile文件
在文件中告知cocoapods需要安装的框架信息
* 该框架支持的平台
* 使用的iOS版本
* 框架的名称
* 框架的版本
如果不会写,可以到github上去查找某个开源库,上面有示范。
2、安装
pod install --no-repo-update //不更新,若想更新只用pod install
pod update --no-repo-update
3、说明
例子:
platform :ios, '8.0' 用来设置所有第三方库所支持的iOS最低版本
pod 'SDWebImage','~2.6' 设置框架的名称和版本号
```
版本号规则:
'>1.0' 可以安装任何高于1.0的版本
'>=1.0' 可以安装任何高于或等于1.0的版本
'<1.0' 可以安装任何低于1.0的版本
'<=1.0' 可以安装任何低于或等于1.0的版本
'~>0.1' 任何高于或等于0.1的版本,但是不包含高于1.0的版本
'~>0' 任何版本,相当于不指定,默认采用最新版本号
可以通过`pod search 框架名`查看框架是否在cocopods的管理之下
四、cocoapods的插件
在github上搜索kattrali/cocoapods-xcode-plugin插件来安装第三方框架。将该插件下载下来,运行之后退出Xcode。通过CocoaPods菜单选项创建出一个新的podfile文件。
之后会弹出一个模板,此时就可以填写需要的库的信息。
当然,通过该插件也能安装第三方库,但是速度比命令行更慢。
五、CocoaPods相关面试题
1、请说明一下Cocopods的作用和原理
答:CocoaPods是一个第三方库的管理工具,用来管理项目中的第三方框架。它的原理就是将所有的依赖库都放到一个名为Pods的项目中。Pods项目会编译出一个libPods.a的文件,主项目只要依赖这个.a文件即可。这样,依赖库源码管理的工作都从主项目移到了Pods项目中。
2、在使用cocoapods管理第三方框架时,如何修改版本?
答:打开Podfile文件修改Podfile文件中的第三方框架的版本。
3、如何通过 CocoaPods 查找第三方库?
答: pod search xxx(第三方库)
4、请简单说明在安装cocoapods时,使用pod install命令安装框架后的大致过程
答:
1)分析依赖:该步骤会分析Podfile,查看不同类库之间的依赖情况。如果有多个类库依赖于同一个类库,但是依赖于不同的版本,那么cocoaPods会自动设置一个兼容的版本。
2)下载依赖:根据分析依赖的结果,下载指定版本的类库到本地项目中。
3)生成Pods项目:创建一个Pods项目专门用来编译和管理第三方框架,CocoaPods会将所需的框架,库等内容添加到项目中,并且进行相应的配置。
4)整合Pods项目:将Pods和项目整合到一个工作空间中,并且设置文件链接
以上是关于程序员面试闪充--Cocopods详解的主要内容,如果未能解决你的问题,请参考以下文章