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

你可能感兴趣的:(pod install 和 pod update)