1 版本号的含义
v1.0.0到v1.0.9只是修改bug,不涉及API的更改
v1.0.9到v1.1.0就会涉及到API的更改
2 cocoapods版本控制策略
pod 'AFNetworking' //不显式指定依赖库版本,表示每次都获取最新版本
pod 'AFNetworking', '2.0' //只使用2.0版本
pod 'AFNetworking', '> 2.0' //使用高于2.0的版本
pod 'AFNetworking', '>= 2.0' //使用大于或等于2.0的版本
pod 'AFNetworking', '< 2.0' //使用小于2.0的版本
pod 'AFNetworking', '<= 2.0' //使用小于或等于2.0的版本
pod 'AFNetworking', '~> 0.1.2' //使用大于等于0.1.2但小于0.2的版本
pod 'AFNetworking', '~>0.1' //使用大于等于0.1但小于1.0的版本
pod 'AFNetworking', '~>0' //使用最新版本,与不显示指定依赖库版本相同
3 Podfile和Podfile.lock
Podfile中存放你想要在工程中依赖的库,在这里你可以决定需要那些库以及这些库的版本(参考2) Podfile.lock中存放你目前工程中已依赖的库的你使用的版本
4 pod install vs pod update
pod install 侧重于增删,pod update侧重于更新 我们从一个工程没有任何依赖库到添加依赖库到增删改依赖库这样一个过程说起
1、工程创建Podfile文件,引入AFNetworking库,且没有显示的指定AFNetworking的版本,此时运行pod install,安装AFNetworking的最新版本到工程中。假设AFNetworking的版本为4.0.0,此时Podfile.lock会记录AFNetworking的版本为4.0.0。
2、工程又想要引入JSONModel,在Podfile中引入JSONModel,且明确指示JSONModel的版本为1.0.0,此时运行pod install,安装JSONModel的1.0.0版本到工程中。此时Podfile.lock会记录JSONModel的版本为1.0.0。
3、工程要删除JSONModel,在Podfile中删除JSONModel,此时运行pod install,将JSONModel从工程中移除。
4、如果想要将AFNetworking更细到5.0.0,需要更改Podfile中AFNetworking的版本号,然后运行pod update,此时会忽略Podfile.lock中的版本控制,将AFNetworking更新到5.0.0版本。