上面一節介紹了本地私有庫https://blog.csdn.net/liyunxiangrxm/article/details/105289053
本地私有庫有很多存在的問題:
1、需要主動指明路徑,如果移動工程文件夾路徑,那麼podfile中的路徑需要修改。
2、版本升級不好維護,沒有指明tag。
3、無法多人合作開發
所以,就需要遠程私有庫:
首先,看遠程私有庫原理圖:
遠程私有庫流程:
第一步:建立遠程的私有庫索引庫
- 先找一個第三方代碼倉庫 我這兒找的是coding.net,碼雲也可以,GitHub也可以,只不過GitHub建立私有倉庫會收費
- 然後建立項目,建立好以後的效果
第二步:把遠程索引庫和本地索引庫關聯$ pod repo add 名字 url
原理圖:
- 如果url是用https的,那麼可以直接使用,如果用SSH,得使用公鑰私鑰
- https舉例:https的url:
$ pod repo add HMGFMBase https://e.coding.net/heimage/HMGFMSpecs.git
- SSH舉例:
$ pod repo add HMGFMBase [email protected]:heimage/HMGFMSpecs.git
執行完以後效果:
讓配置公鑰,那麼我們一步一步來配置
-
終端
$ ssh-keygen
,其他後續沒有其他輸入的直接回車就行
-
然後在.SSH文件裏面就會產生id_rsa和id_rsa.pub兩個文件,路徑如下:
-
然後我們在coding.net進行配置,點擊新增公鑰
-
然後我們把id_rsa.pub公鑰的內容加進去 公鑰內容裏面,如圖所示,添加成功
-
然後我們在終端執行添加遠程索引庫SSH的鏈接的
$ pod repo add HMGFMBase [email protected]:heimage/HMGFMSpecs.git
-
成功後如圖,也可以通過
$ pod repo
進行呢查詢
第三步:本地製作一個私有的pod模板庫並在遠端建立一個遠程私有庫
- 本地製作pod模板庫
$ cd /Users/liuxitong/Desktop/本地庫方案/2、遠程私有庫方案/ReomteLib
$ pod lib create HMGFMBase
核心代碼拖入Classes文件夾
-
然後我們想要用測試工程的話,需要進入Example工程,並執行pod install
-
製作遠程框架(和遠程私有索引庫步驟一樣)
創建一個新的項目
第四步、把第三步的HMGFMBase 文件上傳到剛纔做好的遠程項目中
-
首先
$ cd /Users/liuxitong/Desktop/本地庫方案/2、遠程私有庫方案/ReomteLib/HMGFMBase
-
然後查看git狀態
-
如果沒有commit,那麼進行commit操作,上傳到本地倉庫
git add .
git commit -m 'xx'
這樣就commit成功了
-
然後修改podSpec文件
s.name = 'HMGFMBase'
s.version = '0.1.0'
s.summary = 'HMGFMBase'
s.description = 'HMGFMBase包含基本的配置組件等'
s.homepage = 'https://heimage.coding.net/p/HMGFMBase'
s.license = { :type => 'MIT', :file => 'LICENSE' }
s.author = { 'liyuunxiangGit' => '[email protected]' }
s.source = { :git => 'https://e.coding.net/heimage/HMGFMBase.git', :tag => s.version.to_s }
s.ios.deployment_target = '8.0'
s.source_files = 'HMGFMBase/Classes/**/*'
-
然後
$ pod lib lint
驗證本地spec文件是否正確
-
本地庫和遠程庫關聯
$ git remote add origin '[email protected]:heimage/HMGFMBase.git'
$ git push origin master
-
然後設置標籤tag
$ git tag '0.1.0'
$ git push --tags
-
然後我們可以通過
$ pod spec lint
驗證遠程spec文件是否正確 -
驗證通過
第五步、向私有索引庫提交spec
- 執行
$ pod repo push HMGFMBase HMGFMBase.podspec
把 spec文件推到 HMGFMBase 這個repo中
它的執行原理的 把HMGFMBase.podspec push到本地的repo的HMGFMBase中,而且會同步上傳到我們之前建立的遠程索引庫。
第六步、如何使用
- 我們在任意一個工程,配置podFile,然後就可以使用這個遠程庫了
source '官方路徑'
source '私有索引庫路徑'
pod 'base'