cocoapods系列教程---Podfile.lock文件 和 Spec Repo

cocoapods系列教程---安装与使用
cocoapods系列教程---Podfile文件
cocoapods系列教程---Podfile.lock文件 和 Spec Repo
cocoapods系列教程---spec文件
cocoapods系列教程---原理篇
cocoapods系列教程---让自己的开源框架支持cocoapods
cocoapods系列教程---模块化设计
cocoapods系列教程---创建私有pods

Podfile.lock 文件记录所有已安装的代码库的描述.其结构如下:

PODS:
- AFNetworking (2.6.3):
  - AFNetworking/NSURLConnection (= 2.6.3)
  - AFNetworking/NSURLSession (= 2.6.3)
  - AFNetworking/Reachability (= 2.6.3)
  - AFNetworking/Security (= 2.6.3)
  - AFNetworking/Serialization (= 2.6.3)
  - AFNetworking/UIKit (= 2.6.3)
  
DEPENDENCIES:
- AFNetworking (~> 2.6.3)

SPEC CHECKSUMS:
AFNetworking: cb8d14a848e831097108418f5d49217339d4eb60

COCOAPODS: 0.38.2

可以看出,podlock锁定了AFNetworking的版本,如果再次执行pod install,则不会更新AFNetworking的版本.执行pod update会更新AFNetworking. Podfile.lock 应该加入到版本控制里面,不应该把这个文件加入到.gitignore中。否则会导致每个开发成员上的依赖库版本不一致,造成冲突.

  • 我们可以手动指定依赖库的版本,这样大家都是同一个版本.如:

    pod 'AFNetworking', '3.0'
    
    

Spec Repo

Spec Repo,顾名思义,就是存放Spec文件的仓库,就是一个容器,所有公开的Pods都在这个里面,是一个Git仓库remote端.执行 pod setup命令会clone该仓库到本地的~/.cocoapods/repos目录下,可以进入到这个目录看到master文件夹就是这个官方的Spec Repo了。这个master目录的结构如下:

    ├── Specs
      └── [SPEC_NAME]
         └── [VERSION]
            └── [SPEC_NAME].podspec

可以看出,仓库保存了依赖库的名称,版本号,以及spec文件.
因为Spec Repo存放了所有的spec文件,所以很明显它是一种集中式的依赖库管理工具.并且只能pull不能push,本地亦可以修改.

  • 添加仓库
 pod repo add WTSpecs [email protected]:wtlucky/WTSpecs.git

  • 删除仓库
pod repo remove 仓库名

你可能感兴趣的:(cocoapods系列教程---Podfile.lock文件 和 Spec Repo)