组建化学习之路

cocopods 熟悉

  • image.png

    发现cocopods 集成其中2个地方的代码,就算有相同也不会报错,会选择其中一个执行,另一个会被屏蔽掉,这个执行动作发生在pre-main阶段
  • cocopods自从升到1.8之后,会默认走trunkcdn源,需要代理支持才行,换到之前的源,可在podfile里添加 source '原地址'

例如:清华源 source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git'

  • pod lib create XXX 执行pod install 时报错,xcode12,
    可以把platform :ios, '8.0' 改成10.0以上再试一次,本人改后成功install

  • 添加pod 'xxx', :path => 'xxx'
    添加路径时,例如相对路径,
    pod 'CommonUnit', :path => '../'
    pod 'Network', :path => '../../Network'

真实路径是这样的


image.png

由此推论 ../是podfile路径 往上一个路径,后续待验证

  • pod install 和 pod update

pod install

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

安装完后,会自动生成Podfile.lock文件,该文件记录着Podfile配置的所有Pod的版本信息,依赖库信息,和pod库的checksum(校验码), 应该上传此文件使各成员版本保持一致。

所以当你下次运行pod install时,已经安装过的pod就不会再次去下载安装,也不会更新已有的pod库。

pod update

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

pod outdated

当你想查看当前每个库的最新版本和当前版本的差异,那么你可以运行pod outdated命令

本地pods依赖并没有下载/copy文件,只是建立了一个引用,所以本地的修改版本,lock感觉起不了作用,lock不住版本号。本地pods有个好处是可以直接断点调试

类型检查警告

编译器会给出类型错误的警告。在Build Settings中可以把incompatible pointer types警告变成编译错误

你可能感兴趣的:(组建化学习之路)