iOS下 建立遠端cocoapods私有庫的套路

weixin_34107955發表於2018-03-27

給你講一個笑話:
路人: 你是做什麼的?
iOS開發: iOS開發.
路人: iOS 不是已經存在嗎?還開發什麼? 你會修電腦嗎? 我蘋果手機壞了你可以幫我看看嗎? 我蘋果電腦壞了,你可以幫我看看嗎?
iOS開發: ... ...
路人: ... ...

人生總會有低潮和失敗,總會有迷茫和不得志,小夥伴們不要氣餒,裝逼的路上我們一路手拉著手,哈哈,扯遠了 ... ...

裝逼正式開始:

首先需要明白一個思路: 括號裡面的是名字,你可以自己隨便起
1, 需要在服務端建立兩個庫 一個是存放遠端程式碼的倉庫( IJSPageController) 另一個就是你存放podspec檔案的索引倉庫(IJSPluginSpec)
2, 本地索引倉庫 (IJSPluginSpec)

正文:
本文介紹通過 碼雲的方式

1, 在碼雲上建立上面說的兩個倉庫, 建立方式和在碼雲上建立專案一樣的

2845360-906921dcdcdc1f51.png
image.png

2, 將遠端私有索引庫新增到本地的cocoapods索引庫中

pod repo add IJSPluginSpec git@gitee.com:*******/IJSPluginSpec.git

IJSPluginSpec 索引倉庫的名字
git@gitee.com:*****/IJSPluginSpec.git 遠端私有庫地址

這個過程中間可能會出現錯誤: 大體的意思就是你沒有新增私鑰 到本地
我這裡沒有重現,因為我之前就已經新增過,大家可以百度一下生成一對要是,私鑰新增到
就是下面圖的這個鬼東西


2845360-a35418b346d0197a.png
image.png

這個是遠端伺服器的新增


2845360-7ce4ccc0821a89df.png
image.png

3, 接下來就是建立原生程式碼倉庫

如果你閱讀過我之前寫的 如何建立遠端公有庫 ,下面的步驟非常簡單,我不做具體描述了
參考: https://www.jianshu.com/p/0d7e6ef25c3b

1. 需要先 trunk 註冊一個這樣的賬號
pod trunk register 郵箱地址 '使用者名稱' --verbose
pod trunk me

執行完第一句話你會收到一份郵件,你開啟以下其他不需要操作,再執行第二個就可以

2, 建立原生程式碼庫
pod lib create  IJSPageController

按照提示加就ok 可以建立測試專案 pod專案等等配置,本人建議通過這種方式建立,因為這麼玩,你就不需要建立 podspec檔案,並且他裡面給你檔案路徑都寫好了,你需要做的就是替換一下你自己寫的程式碼就ok
我的路徑就是下面這樣


2845360-f59ac09265c31728.png
image.png

class下方的就是你需要儲存到遠端的程式碼庫

接下來我們簡單配置一下 podspec檔案


2845360-42646158eb2d763a.png
image.png

3, 接下來我們來驗證一下本地的podspec檔案寫好了沒有

三者選一:
pod lib lint --verbose
pod lib lint --verbose --allow-warnings
 pod lib lint --verbose --use-libraries --allow-warnings(有警告,依賴靜態framework情況下)
2845360-b85fd3c0d254a561.png
image.png

這個就是通過

4,將本地的程式碼倉庫關聯到遠端的程式碼倉庫
git remote add origin 地址
5, 新增tags,必須保證 spec檔案的版本和這個 tag統一,否則會找不到對應的版本檔案
$ git add -A && git commit -m "Release 0.1.0"
$ git tag '0.1.0'
$ git push --tags

這一步最好保證本地的程式碼倉庫的程式碼已經完整的提交到遠端伺服器上

6, 驗證線上的spec檔案的合法性
三者選其一
pod spec lint --verbose
pod spec lint --verbose --use-libraries
pod spec lint --verbose --use-libraries --allow-warnings
2845360-aeabf01b32a40e33.png
image.png
7, 將我們本地的索引庫需要提交到遠端伺服器的私有索引庫
 pod repo push IJSPluginSpec IJSPageController.podspec

IJSPluginSpec 這個是你本地私有庫的檔案的名字
IJSPageController.podspec 這個是你建立的podspec檔案

8 檢查一下我們本地的私有庫搞好了沒有
pod repo

結果;


2845360-9d31869cdedc7159.png
image.png

注意這個 URL 後面pod 需要用到這個

上傳的任務結束了啊,和遠端公開庫有點差別這裡

9, 注意這裡podfile 檔案需要重新編寫和之前不一樣了 這一步非常關鍵,注意注意
2845360-4b790cfecb5cac6a.png
image.png

至此所有遠端私有庫建立 以及測試大功告成

這個我們自己測試通過了,目前還沒有找小白鼠測試,哈哈明天我找公司的小夥伴測試下,哈哈,這麼晚了今天裝逼到此結束

相關文章