創(chuàng)建 CocoaPods 私有庫

一、創(chuàng)建私有庫

1.創(chuàng)建 github 倉庫
屏幕快照 2017-03-30 下午10.45.49.png
2.創(chuàng)建私有 Spec Repo

先來說第一步,什么是 Spec Repo ?他是所有的Pods的一個索引,就是一個容器,所有公開的 Pods 都在這個里面,他實際是一個 Git 倉庫 remote 端在 GitHub 上,但是當(dāng)你使用了 Cocoapods 后他會被clone到本地的 ~/.cocoapods/repos 目錄下,可以進(jìn)入到這個目錄看到官方的 Spec Repo , 即 master 文件夾

3.創(chuàng)建 iOS Cocoapods 工程項目

如果已有工程文件可需要自行創(chuàng)建 .podspec 文件,并進(jìn)行編輯(操作應(yīng)該和創(chuàng)建新的工程差不多,我還沒研究 _)。建議用下邊的方法創(chuàng)建新的工程項目,因為它為我們創(chuàng)建了,依賴文件,會少走很多坑(如果你感覺自己很diao,當(dāng)我沒說)

執(zhí)行如下命令,即可創(chuàng)建

pod lib create KYSIOSShared

創(chuàng)建項目

其中5個問題分別為:工程語言 | 是否需要Demo | 測試框架 | 是否需要view測試 | 工程前綴

4. 配置.podspec文件

庫文件添加完成后,我們需要配置 .podspec 文件 ,如何配置請 Baidu Google

.podspec文件
5. 執(zhí)行 pod update

當(dāng)你向 Pod 添加了新文件或更新 .podspec 的版本都需要進(jìn)入 Example 目錄,執(zhí)行 pod update 更新一下工程,執(zhí)行完它,Pod/Classes中目錄的文件會自動添加到工程中

6. 驗證 .podspec 配置文件

在工程目錄下執(zhí)行如下命令

pod lib lint
驗證成功
7. 添加到遠(yuǎn)端倉庫

通過 Cocoapods 創(chuàng)建的項目,就是用 git 管理的。接下來我們需要將項目推到我們的私有倉庫

執(zhí)行如下命令

git add .
git commit -s -m "first push"
git remote add origin https://github.com/jackkang0401/KYSIOSShared.git           
git push origin master  

8. 添加版本控制的項目 tag 號

執(zhí)行如下命令

git tag -m "first tag" 0.1.0
git push --tags

9. 本地測試 .podspec 文件
① 配置 Podfile 文件
Podfile
② 執(zhí)行 pod install
安裝成功
10. 提交私有倉庫
① 執(zhí)行如下命令

KYSIOSShared(本地repo名稱),KYSIOSShared.podspec(配置文件路徑)

pod repo push KYSIOSShared KYSIOSShared.podspec

② 測試私有庫是否創(chuàng)建成功
配置Podfile
安裝成功
測試項目目錄
③ 注意事項

執(zhí)行 pod install 可能會遇到如下問題,我的解決方案是刪除 Assets 與 Classes 目錄,庫文件移到其他目錄(我換成功了Example/Pod/KYSObjCShared/),并配置 .podspec 文件。修改完成后需要進(jìn)入Example/目錄 重新執(zhí)行 pod update,重走一遍流程

Analyzing dependencies
[!] An unexpected version directory `Assets` was encountered for the `...` Pod in the `...` repository.
修改配置文件
更改完的項目的目錄結(jié)構(gòu)

二、 版本升級

1. 添加新的庫文件,修改 .podspec 配置文件

創(chuàng)建 KYSPodUpdateVersion 文件
修改配置文件

2. 進(jìn)入Example目錄,執(zhí)行 pod update

更新成功

3.驗證 .podspec 配置文件

執(zhí)行如下命令

pod lib lint

驗證通過

4. 提交到遠(yuǎn)端倉庫

執(zhí)行如下命令

git add .
git commit -m "update version 0.1.1"
git pull origin master
git push origin master

5.添加新的 tag 號

執(zhí)行如下命令

git tag -m "first tag" 0.1.1
git push --tags

  • 注意:如果擔(dān)心出問題最好先進(jìn)行一下本地驗證

6.更新私有倉庫

① 執(zhí)行如下命令
pod repo push KYSIOSShared KYSIOSShared.podspec

更新成功
② 進(jìn)入之前的測試項目執(zhí)行 pod update 命令
KYSPodUpdateVersion文件已加入 ^_^

三、添加子模塊

過程和版本升級是一樣的,就是配置 .podspec 文件稍微復(fù)雜一點

① 私有庫目錄結(jié)構(gòu)
子模塊目錄結(jié)構(gòu)
② .podspec 配置文件
.podspec 配置文件
# subspec之間也可以相互依賴
# KYSIOSShared為父倉庫名,KYSSubspec1為子倉庫名稱
s2.dependency 'KYSIOSShared/KYSSubspec1'
③ 執(zhí)行 pod update
更新結(jié)果

四、總結(jié)

從零了解到私有庫創(chuàng)建成功,用了大約3天的時間。這期間也入了跟多坑,也查閱了很多資料,覺得下邊的兩個鏈接學(xué)的相對好一些,可以參考一下。在這里遇到的最大的一個坑就是前邊說道的關(guān)于 Assets、Classes 目錄的問題,卡了大約1天多,最后換了庫文件的路徑才得到解決,如果大家有更好的方案或是文章哪里不對,歡迎您的留言 *_^

五、參考資料

最后編輯于
?著作權(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)容