CocoaPods管理私有庫

CocoaPods管理私有庫

CocoaPods介紹

CocoaPods是幫助管理xcode項目第三方開源庫的一個工具。項目依賴的第三庫在名為Podfile的單個文本文件中指定。CocoaPods將解析第三庫之間的依賴關(guān)系,獲取生成的源代碼,然后在Xcode工作區(qū)中將它們鏈接在一起以構(gòu)建項目。

CocoaPods管理公有庫的方式

  1. CocoaPods通過一個git倉庫 The CocoaPods Master Repo 來管理第三庫,該倉庫中包含所有支持CocoaPods的公有開源庫。
  2. 每個公有開源庫各個版本的信息包含在一個后綴.podspec.json的文件中,其目錄結(jié)構(gòu)為.../specsname/version/xx.podspec.json,比如:.../AFNetworking/0.5.1/AFNetworking.podspec.json。
  3. 當(dāng)通過 pod install安裝第三庫時,會從The CocoaPods Master Repo倉庫中找到對應(yīng)庫對應(yīng)版本的.podspec文件,再通過podspec文件中的信息來安裝第三方庫。

CocoaPods私有庫創(chuàng)建

同公有庫類似,要通過CocoaPods來管理私有庫,首先需要創(chuàng)建一個私有g(shù)it倉庫(私有specs倉庫),用于管理各個私有庫的.podspec文件。然后將該私有specs倉庫添加到CocoaPods中,最后將需要被管理的私有庫的信息以.podspec文件的形式添加到該私有specs倉庫即可。

step1: 創(chuàng)建一個私有specs倉庫,注意該倉庫應(yīng)該只有自己和團(tuán)隊成員有權(quán)限。
step2: 將該私有specs倉庫作為一個新的源添加到CocoaPods中
$ pod repo add REPO_NAME SOURCE_URL

其中REPO_NAME表示新加的specs源名稱,SOURCE_URL表示私有specs倉庫的地址。
檢查是否添加成功

$ cd ~/.cocoapods/repos/REPO_NAME
$ pod repo lint .
step3: 為私有庫添加.podspec文件

在私有庫的根目錄下,創(chuàng)建一個.podspec文件,并編輯相關(guān)內(nèi)容。

pod spec create SPEC_NAME

編輯.podspec文件

Pod::Spec.new do |spec|
  //私有庫名稱,需要與文件名相同,之后通過CocoaPods安裝該庫也使用這個名稱
  spec.name         = 'Reachability' 
  //私有庫當(dāng)前版本,需在私有庫的master分支上有對應(yīng)的版本tag
  spec.version      = '3.1.0'           
  //license,版權(quán)聲明
  spec.license      = { :type => 'BSD' } 
  //私有庫主頁
  spec.homepage     = 'https://github.com/tonymillion/Reachability' 
  //作者信息
  spec.authors      = { 'Tony Million' => 'tonymillion@gmail.com' }
  //私有庫簡價
  spec.summary      = 'ARC and GCD Compatible Reachability Class for iOS and OS X.'
  //私有庫源(git地址)
  spec.source       = { :git => 'https://github.com/tonymillion/Reachability.git', :tag => 'v3.1.0' } 
  //CocoaPods要引用該庫的哪些文件
  spec.source_files = 'Reachability.{h,m}'
  //該依賴的系統(tǒng)框架
  spec.framework    = 'SystemConfiguration'
end

更多.podspec文件配置說明,參見官方文檔:Podspec Syntax Reference

檢查.podspec文件是否有效

pod spec lint
step4: 添加.podspec文件到私有spec倉庫
pod repo push REPO_NAME .../xxx/SPEC_NAME.podspec

驗證添加成功

cd ~/.cocoapods/repo/REPO_NAME

目錄結(jié)構(gòu)應(yīng)該如下:

.
[SPEC_NAME]
    └── [VERSION]
        └── [SPEC_NAME].podspec
step5: search驗證

以上4步順利完成,則私有庫添加成功,現(xiàn)在就可以通過pod search命令來搜索測試一下,如果能夠成功搜索到信息,則說明私有庫已添加成功。

pod search SPEC_NAME

使用私有庫

與使用公有庫的方式完全相同,只需要Podfile文件中,添加私有spec倉庫的地址。CocoaPods會根據(jù)source的順序進(jìn)搜索Podfile文件中列出的第三庫

source 'https://github.com/your-private-spec/Specs.git'
source 'https://github.com/CocoaPods/Specs.git' //這個是默認(rèn)的公有庫地址

更多Podfile的配置說明,參見官方文檔:Podfile Syntax Reference

私有庫升級

在開發(fā)好新版本后,將代碼合并到master分支,在master分支添加新版本的tag,然后將.podspec文件的版本修改為相同的版本號,然執(zhí)行上述step4即可。

pod repo push REPO_NAME .../xxx/SPEC_NAME.podspec

順便說下公有庫

如果要將自己的開源項目支持CocoaPods,實現(xiàn)基本相同,只需要將上述step4修改為如下命令:

$ pod trunk push SPEC_NAME.podspec

如果是第一次操作,需要向CocoaPods進(jìn)行注冊。

$ pod trunk register orta@cocoapods.org 'Orta Therox' --description='macbook air'

了解更多關(guān)于創(chuàng)建公有庫的內(nèi)容,參見官方文檔:Making CocoaPods

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

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

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