pod install 和 pod update
pod install
当我们新建一个Podfile
文件运行后,会自动生成一个Podfile.lock
文件,Podfile.lock
文件里存储着我们已经安装的依赖库(pods)
的版本。
当我们第一次运行Podfile
时,如果对依赖库不指定版本的话,cocoapods会安装最新的版本,同时将pods
的版本记录在Podfile.lock
文件中。这个文件会保持对每个pod已安装版本的跟踪,并且锁定这些版本。
再执行pod install
的话,只会处理没有记录在Podfile.lock
中的依赖库,会查找匹配Podfile中描述的版本。对于已经记录在Podfile.lock
的依赖库,会下载Podfile.lock
文件中记录的版本,而不会检查是否有更新。当然,如果你约束了pods的版本的话,会按照你指定的版本进行安装,同时也会更新Podfile.lock记录的信息。
//Podfile 文件
platform:ios,'8.0'
target :CocoaPods_Demo do
pod 'AFNetworking'//当没有指定版本,并且第一次运行 pod install时,会下载最新版本 3.2.0
end
//Podfile.lock文件
PODS://看出记录是已经按安装的pods版本
- AFNetworking (3.2.0):
- AFNetworking/NSURLSession (= 3.2.0)
- AFNetworking/Reachability (= 3.2.0)
- AFNetworking/Security (= 3.2.0)
- AFNetworking/Serialization (= 3.2.0)
- AFNetworking/UIKit (= 3.2.0)
- AFNetworking/NSURLSession (3.2.0):
- AFNetworking/Reachability
- AFNetworking/Security
- AFNetworking/Serialization
- AFNetworking/Reachability (3.2.0)
- AFNetworking/Security (3.2.0)
- AFNetworking/Serialization (3.2.0)
- AFNetworking/UIKit (3.2.0):
- AFNetworking/NSURLSession
DEPENDENCIES:
- AFNetworking
SPEC CHECKSUMS:
AFNetworking: 8ac6017b94ea105479f7776e5288e48ae9c59bb4
PODFILE CHECKSUM: 56887359088f67698ba67f44ab92d6976c593eb9
COCOAPODS: 1.4.0//COCOAPODS版本
pod update
推荐用法:pod update 要更新库的名字
这个命令会忽略Podfile.lock中的记录,直接去找符合Podfile文件中的该依赖库的约束版本(无约束的话就是最新版本)。
用法
pod install使用场景:
1,新创建工程,第一次引入pod库时。
2,修改了Podfile文件,添加或删除了所依赖的pod库时。
3,团队中新人拉取工程后获取pod库时。
4,团队中,不同开发者要同步对pod库的依赖时。
4.1,有人改变了依赖关系,删除或增加pod时。
4.2,有人执行了pod update,此时他的Podfile.lock文件中的跟踪版本就已经变更,此时,其他人只要pod install就能更新为和Podfile.lock文件中的版本。
4.3,如果Podfile和Podfile.lock的记录相冲突,Podfile文件中指定了低于Podfile.lock中记录的版本。会以Podfile文件为准,并在获取成功后更新Podfile.lock文件。
最后
pod env:查看已经安装的cocoapods版本。
pod outdated:查看Podfile文件中的依赖库的最新版本。
参考致谢:
https://blog.csdn.net/cwf19860527/article/details/54139214
https://blog.csdn.net/cwf19860527/article/details/54139214