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