1、pod install
根据Podfile文件指定的内容,安装依赖库,如果有Podfile.lock文件而且对应的Podfile文件未被修改,则会根据Podfile.lock文件指定的版本安装。
每次更新了Podfile文件时,都需要重新执行该命令,以便重新安装Pods依赖库。
2、pod update
若果Podfile中指定的依赖库版本不是写死的,当对应的依赖库有了更新,无论有没有Podfile.lock文件都会去获取Podfile文件描述的允许获取到的最新依赖库版本。
3、pod search
命令格式为:
$ pod search 类库名,支持模糊查询(如:AFNetworking)
pod search功能
红框中的信息为AFNetworking 最新版本,Version中显示了历史版本,根据这些信息来编写我们的Podfile文件如:
pod ‘AFNetWorking’, ‘~> 2.2.4′
这句话具体含义是什么呢?当我们通过cocopods引入依赖库时,需要显示或隐式注明引用的依赖库版本,具体写法和表示含义如下
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′ //高于0的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本
4、pod setup
用于跟新本地电脑上的保存的Pods依赖库tree。由于每天有很多人会创建或者更新Pods依赖库,这条命令执行的时候会相当慢,还请耐心等待。我们需要经常执行这条命令,否则有新的Pods依赖库的时候执行pod search命令是搜不出来的。
①多个target中使用相同的Pods依赖库
比如,名称为CocoaPodsTest的target和Second的target都需要使用Reachability、SBJson、AFNetworking三个Pods依赖库,可以使用link_with关键字来实现,将Podfile写成如下方式:
link_with ‘CocoaPodsTest’, ‘Second’platform :iospod ‘Reachability’, ‘~> 3.0.0′pod ‘SBJson’, ‘~> 4.0.0′
platform :ios, ‘7.0’pod ‘AFNetworking’, ‘~> 2.0′
这种写法就实现了CocoaPodsTest和Second两个target共用相同的Pods依赖库。
②不同的target使用完全不同的Pods依赖库
CocoaPodsTest这个target使用的是Reachability、SBJson、AFNetworking三个依赖库,但Second这个target只需要使用OpenUDID这一个依赖库,这时可以使用target关键字,Podfile的描述方式如下:
target :’CocoaPodsTest’ doplatform :iospod ‘Reachability’, ‘~> 3.0.0′pod ‘SBJson’, ‘~> 4.0.0′
platform :ios, ‘7.0’pod ‘AFNetworking’, ‘~> 2.0′end
target :’Second’ dopod ‘OpenUDID’, ‘~> 1.0.0′end
其中,do/end作为开始和结束标识符。