cocoapods系列教程---安裝與使用
cocoapods系列教程---Podfile文件
cocoapods系列教程---Podfile.lock文件 和 Spec Repo
cocoapods系列教程---spec文件
cocoapods系列教程---原理篇
cocoapods系列教程---讓自己的開源框架支持cocoapods
cocoapods系列教程---模塊化設計
cocoapods系列教程---創(chuàng)建私有pods
Podfile.lock 文件記錄所有已安裝的代碼庫的描述.其結(jié)構(gòu)如下:
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的版本,如果再次執(zhí)行pod install,則不會更新AFNetworking的版本.執(zhí)行pod update會更新AFNetworking. Podfile.lock 應該加入到版本控制里面,不應該把這個文件加入到.gitignore中识樱。否則會導致每個開發(fā)成員上的依賴庫版本不一致,造成沖突.
-
我們可以手動指定依賴庫的版本,這樣大家都是同一個版本.如:
pod 'AFNetworking', '3.0'
Spec Repo
Spec Repo,顧名思義,就是存放Spec文件的倉庫叫惊,就是一個容器漂洋,所有公開的Pods都在這個里面买猖,是一個Git倉庫remote端.執(zhí)行 pod setup
命令會clone該倉庫到本地的~/.cocoapods/repos目錄下刨肃,可以進入到這個目錄看到master文件夾就是這個官方的Spec Repo了候引。這個master目錄的結(jié)構(gòu)如下:
├── Specs
└── [SPEC_NAME]
└── [VERSION]
└── [SPEC_NAME].podspec
可以看出,倉庫保存了依賴庫的名稱,版本號,以及spec文件.
因為Spec Repo存放了所有的spec文件,所以很明顯它是一種集中式的依賴庫管理工具.并且只能pull不能push,本地亦可以修改.
- 添加倉庫
pod repo add WTSpecs git@coding.net:wtlucky/WTSpecs.git
- 刪除倉庫
pod repo remove 倉庫名