1、请说明一下Cocopods的作用和原理
CocoaPods是一个第三方库的管理工具,用来管理项目中的第三方框架。它的原理就是将所有的依赖库都放到一个名为Pods的项目中。Pods项目会编译出一个libPods.a的文件,主项目只要依赖这个.a文件即可。这样,依赖库源码管理的工作都从主项目移到了Pods项目中。
2、在使用cocoapods管理第三方框架时,如何修改版本?
打开Podfile文件修改Podfile文件中的第三方框架的版本。
3、如何通过 CocoaPods 查找第三方库?
pod search xxx(第三方库)
4、请简单说明在安装cocoapods时,使用pod install命令安装框架后的大致过程?
- 分析依赖:该步骤会分析Podfile,查看不同类库之间的依赖情况。如果有多个类库依赖于同一个类库,但是依赖于不同的版本,那么cocoaPods会自动设置一个兼容的版本。
- 下载依赖:根据分析依赖的结果,下载指定版本的类库到本地项目中。
- 生成Pods项目:创建一个Pods项目专门用来编译和管理第三方框架,CocoaPods会将所需的框架,库等内容添加到项目中,并且进行相应的配置。
- 整合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
来一张图,你就看懂了
也就说,当你想查看当前每个库的最新版本和当前版本的差异,那么你可以运行
pod outdated
命令,输出就是如上图
Q & A
当新加入团队的成员下载你的开发项目后,应该运行pod install
还是pod update
?
答:pod install
,因为我们要保证该项目里的每个团队成员都是用相同的pod库的版本,所以pod install
会根据Podfile.lock
文件里的版本信息进行下载;如果运行pod update
,那就忽略Podfile.lock
内容,直接去远程拉去最新的pod库信息
优秀参考: