pod install 和 pod update

2018-12-04 23:37:37

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 dopod 'AFNetworking'//当没有指定版本,并且第一次运行 pod install时,会下载最新版本 3.2.0end//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




  • 2018-10-28 10:50:26

    VectorDrawable简单介绍

    在项目中使用矢量图至少可以缩小我们apk包的尺寸,而且可以在屏幕适配时提供很大的方便,因为矢量图是分辨率无关的。

  • 2018-10-28 11:14:29

    矢量资源工具Vector_Asset_Studio

    Android Studio有一个称为“Vector Asset Studio”的工具, 它可以将SVG文件和PSD文件转化为工程可用的矢量可绘制资源(vector drawable resources),

  • 2018-10-28 11:16:09

    Android vector标签 PathData 画图超详解

    SVG是一种矢量图格式,是Scalable Vector Graphics三个单词的首字母缩写。在xml文件中的标签是<vector>,画出的图形可以像一般的图片资源使用,例子如下

  • 2018-10-30 00:16:41

    android ToolBar 设置颜色

    app:popupTheme——有时候我们有需求:ActionBar文字是白的,ActionBar Overflow弹出的是白底黑字让ActionBar文字是白的,那么对应的theme肯定是Dark。可是让ActionBar弹出的是白底黑字,那么需要Light主题。这时候popupTheme就派上用场了。android:theme 与app:theme——在AppCompat v21里,提供了一个快速方便的方法设置Toolbar的主题,使用app:theme。而新版本22.1.x中,AppCompat 允许对 Toolbar 使用 android:theme代替 app:theme。最好的一点是:它会自动继承父视图的theme ,并且兼容所有APIv11以上的设备。

  • 2018-11-01 22:08:19

    Android Toolbar左、中、右对齐

    默认的Android Toolbar中添加子元素view是从左到右依次添加。需要注意的是,Android Toolbar为自身的NavigationIcon(app:navigationIcon)最靠右,Logo(app:logo)紧接NavigationIcon、Title(app:title)接续Logo、保留了默认的位置(从左边到右)。这些Android Toolbar保留的系统设置字段将挤压开发者自己安放在Toolbar中的子view,如图所示: