本篇中使用的遠端倉庫是碼市 注意: 預設讀者會使用Git管理程式碼, 以及上傳至遠端Git倉庫
如果有錯誤的地方請留言, 我會修改
第一步, 新增遠端私有索引倉庫
-
註冊登入後的介面
-
點選新增專案
-
點選建立專案後跳轉介面
-
點選左側 程式碼 選項卡, 進入私有的遠端cocoaPods倉庫介面
-
開啟終端, 輸入指定 pod repo
- 可以看到cocoaPods目前連結了一個遠端索引倉庫, URL是在github上的遠端索引倉庫, Path是通過pod setup下載到本地的索引倉庫
-
可以輸入指令 pod repo --help 檢視當前pod repo 擁有的命令
-
輸入 pod repo add 倉庫名 倉庫SSH(HTTPS)地址 來新增一個遠端索引倉庫
-
倉庫SSH(HTTPS)地址位置在碼市上的下圖位置
-
再次輸入 pod repo 命令
- LTPodspecs就是我剛才新增的遠端私有索引庫
第二步, 配置一個私有的程式碼倉庫
-
開啟碼市, 新新增專案, 這個專案是被CocoaPods管理的私有程式碼倉庫, 用來儲存需要被管理的程式碼, 和上面建立的索引庫用處不同
-
我在桌面上建立了一個新的資料夾, 用來配置私有程式碼庫
-
使用終端cd到當前資料夾
-
輸入指令建立一個git本地倉庫 pod lib create 倉庫名
- 本倉庫用來測試和上傳 私有程式碼
-
建立的git本地倉庫
-
開啟測試工程, 找到ReplaceMe.m檔案並刪除
-
找到需要CocoaPods私有倉庫管理的原始碼(我這裡的是Category資料夾), 並拖拽程式碼檔案到Classes資料夾中, 選擇Copy Items if needed
-
可以通過Show In Finder檢視拖入資料夾的所在真實位置
-
因為測試工程建立完之後引用的LTCategorys檔案中並沒有剛拖入的Category資料夾中檔案, 所以需要重新pod install一下
- cd到測試工程資料夾, 並執行命令 pod install
-
此時拖入工程的Category中檔案就可以正常使用了, 此時使用的是本地私有庫
-
開啟測試工程, 在下面的位置可以進行podspec檔案的配置
-
簡單解釋
- s.homepage需要設定剛建立的私有程式碼倉庫的地址, 不是私有索引庫的地址
- s.source 需要設定的是私有程式碼倉庫的源地址(選擇使用HTTPS地址)
-
將剛建立的本地倉庫上傳到這個專案中, 並打上tag, 這個tag必須和上面podspec檔案中的版本一致(我上面的版本是0.1.0, 所以我打的tag就是0.1.0)
-
開啟終端, cd到LTCategorys資料夾(使用pod lib screate 命令建立的原生程式碼倉庫), 分別使用 pod lib lint 和 pod spec lint 命令進行podspec的本地校驗和遠端校驗
-
以上步驟完成後, 需要將LTCategorys.podspec檔案上傳到本地的私有索引庫, 接著會自動上傳至遠端私有庫
- 終端使用pod repo檔案檢視現有索引庫
- cd 至 LTCategorys 資料夾下, 接著執行 pod repo push 索引庫名 podspec檔名
-
遠端索引庫中的索引檔案
-
在桌面上建立一個測試工程
-
cd到Test資料夾, 並使用終端呼叫pod init命令建立一個Podfile檔案
-
呼叫pod repo命令, 檢視當前索引庫的URL地址
-
開啟Test中的Podfile檔案, 如下填寫
-
cd 到Test資料夾下, 使用終端執行pod install 命令, 此時兩個第三方程式碼就成功安裝到專案中
-
開啟Test工程, 可以看到安裝的第三方庫, 一個是AFNetworking(公共庫) 和 LTCategorys(遠端私有庫)
最後
- 建立的LTPodspecs私有庫是用來存放CocoaPods索引檔案(podspec型別)的
- 建立的LTCategorys私有庫是用來存放遠端私有程式碼的(同github分享開原始碼)
- 使用LTPodspecs來存放LTCategorys的podspec檔案, 就是遠端私有庫的核心
- 最後使用CocoaPods就可以安裝私有庫中的程式碼了, 私有庫中程式碼只有自己和自己指定的人使用 (其他人使用, 必須新增你的CocoPods私有庫, 並且要在你的碼市賬號中設定SSH的公鑰才行)
- 以後的私有遠端程式碼也可以使用這個LTPodspecs索引庫來管理