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

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ù)名

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容