cocopods 熟悉
-
发现cocopods 集成其中2个地方的代码,就算有相同也不会报错,会选择其中一个执行,另一个会被屏蔽掉,这个执行动作发生在pre-main
阶段
-
cocopods自从升到1.8之后,会默认走
trunk
的cdn
源,需要代理支持才行,换到之前的源,可在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'
真实路径是这样的
由此推论 ../
是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
警告变成编译错误