15、面试整理-CocoaPods面试题整理

562 阅读2分钟

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和项目整合到一个工作空间中,并且设置文件链接

5、pod相关

pod install

就是说,当你在项目中的Podfile配置文件中添加、删除、或者更新版本号时使用,也就是用来安装新Pod,删除pod,或者根据你设置的pod版本号来安装

安装完后,会自动生成Podfile.lock文件,该文件记录着Podfile配置的所有Pod的版本信息,依赖库信息,和pod库的checksum(校验码)

pod update

也就是当我们想把已有的库更新到最新版本时使用。比如当前的AFNetworking的版本时3.2.1,那么最新版本时4.0.1,通过pod install并不会更新库到最新版本,而pod update却可以更新到最新的版本'AFNetworking', '~>4.0.1'

pod outdated

来一张图,你就看懂了

20200811115300110.png 也就说,当你想查看当前每个库的最新版本和当前版本的差异,那么你可以运行pod outdated命令,输出就是如上图

Q & A

当新加入团队的成员下载你的开发项目后,应该运行pod install还是pod update? 答:pod install,因为我们要保证该项目里的每个团队成员都是用相同的pod库的版本,所以pod install会根据Podfile.lock文件里的版本信息进行下载;如果运行pod update,那就忽略Podfile.lock内容,直接去远程拉去最新的pod库信息

优秀参考:

juejin.cn/post/684490…

zedxpp.com/2018/07/23/…

www.jianshu.com/p/8e31160b4…