我用的是碼云
一、首先我們先在碼云上建一個遠程私有索引倉庫
創建后的頁面:
二、創建一個項目
創建后頁面:
三、打開終端
1. 查看當前repo:輸入命令 pod repo
2. 把我們第一步創建的遠程私有索引庫添加進來
輸入 pod repo add 倉庫名 倉庫地址 來添加一個遠程索引倉庫
3. 然后我們可以查看一下有沒有添加成功:輸入 pod repo 查看
4. 在桌面上創建一個新文件夾, 用來配置私有代碼庫
5. 進入該文件夾,輸入指令創建一個git本地倉庫? pod lib create 倉庫名
6. 創建的git本地倉庫結構:
7. 打開測試工程, 找到ReplaceMe.m文件并刪除到廢紙簍
8.? 找到需要CocoaPods私有倉庫管理的源碼,并放到下圖的路徑下
9. 然后 cd 到 測試項目Example 下執行 pod install
執行成功之后,再次打開我們的Example項目,既可以看到我們的源碼已經加進來了。
10. 配置 .podspec文件 ,可以直接打開也可以在測試項目Example中修改
如果想分開不同的文件夾存放文件,如下所示:
11. 再次進入我們的Example文件,執行pod更新指令,安裝本地庫源碼
12.? .podspec的文件校驗
為了保證項目的正確性,尤其是pod配置文件的正確性,在正式提交前,我們需要執行以下本地驗證。在本地驗證正常的情況下,再上傳發布還是比較穩妥的。
終端進入我們的項目文件路徑,執行pod本地驗證指令:pod lib lint
至此,我們的源碼已經導入、樣例工程已經驗證執行、podspec配置文件本地已經驗證。
四、項目工程發布
1. 在項目工程文件下執行git相關指令,并添加tag0.1.0,發布到git。
依次輸入以下命令:
git remote add origin https://gitee.com/JokesWB/WFTestView.git
git add .
git commit? -m "提交說明"
git pull origin master
git push origin master
git tag 0.1.0
git push origin 0.1.0
相關指令執行結束后,此時我們再去看我們的git項目:0.1.0 已經上傳了
遠程驗證:pod spec lint,把 lib 改成 spec 就行了。
2. 私有庫發布
cd 至 WFTestView 文件夾下, 接著執行 pod repo push 本地索引庫名 podspec文件名
3.我們可以 pod search 'WFTestView' 搜索一下
發布時如果遇到 The `xxx.podspec` specification does not validate.
執行 pod repo push 本地repo名 xxx.podspec --verbose --use-libraries --allow-warnings 就可以了
五、使用私有庫
創建一個新項目,Podfile 文件內容如下:
六、私有庫引用私有庫的問題
比如我建了兩個私有庫 TestOne 和 TestTwo,在TestTwo里面依賴了TestOne,如下圖:
在我們執行pod本地驗證指令:pod lib lint時,可能會出現錯誤:
然后我們可以用下面這個命令來驗證,驗證時,要帶上你私有庫的地址,然后就可以通過驗證了
pod lib lint--sources='你的私有庫地址,https://github.com/CocoaPods/Specs.git' --use-libraries
如果出現警告,會提示你加上 --allow-warnings,那就在后面加上 --allow-warnings,也就是
本地驗證:pod lib lint--sources='你的私有庫地址,https://github.com/CocoaPods/Specs.git' --use-libraries --allow-warnings
遠程驗證:pod spec lint--sources='你的私有庫地址,https://github.com/CocoaPods/Specs.git' --use-libraries --allow-warnings
總體步驟:
1、先創建一個私有索引庫,比如:xxxSpecs
2、把創建的私有索引庫xxxSpecs添加到當前repo中
3、在桌面上創建一個文件夾,用來存放私有代碼庫,在這個文件夾里創建git本地倉庫
4、把我們要發布的代碼拷貝到Classes文件夾中,執行pod install
5、配置 .podspec 文件
6、執行.podspec 文件,pod本地驗證指令:pod lib lint
7、把代碼推送到遠程git上
8、發布私有庫
更新私有庫:
1、代碼修改之后,也要修改.podspec的版本號,比上次高一級
2、執行 pod lib lint 驗證一下,會顯示你當前的版本號
3、把代碼提交到git上,執行git命令,如:git add . ,git commit -m "提交",等
4、代碼提交成功之后,再發布到遠程私有repo上,執行命令 pod repo push 私有索引庫名 xxx.podspec
5、然后在引用到這個庫的項目中 pod update 就行了
如果私有庫中引用了第三方的framework,并且這個第三方的framework引用了系統的其他framework,如下圖:
然后驗證時要跳過驗證,驗證命令pod lib lint 后面加上? --skip-import-validation 參數,
發布時也要加上 --skip-import-validation 參數
多個私有庫引用同一個第三方沖突的解決:讓第三方的版本號保持一致即可