一、創(chuàng)建私有庫
1.創(chuàng)建 github 倉庫

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

其中5個問題分別為:工程語言 | 是否需要Demo | 測試框架 | 是否需要view測試 | 工程前綴
4. 配置.podspec文件
庫文件添加完成后,我們需要配置 .podspec 文件 ,如何配置請 Baidu Google

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 文件

② 執(zhí)行 pod install

10. 提交私有倉庫
① 執(zhí)行如下命令
KYSIOSShared(本地repo名稱),KYSIOSShared.podspec(配置文件路徑)
pod repo push KYSIOSShared KYSIOSShared.podspec
② 測試私有庫是否創(chuàng)建成功



③ 注意事項
執(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.


二、 版本升級
1. 添加新的庫文件,修改 .podspec 配置文件


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 命令

三、添加子模塊
過程和版本升級是一樣的,就是配置 .podspec 文件稍微復(fù)雜一點
① 私有庫目錄結(jié)構(gòu)

② .podspec 配置文件

# subspec之間也可以相互依賴
# KYSIOSShared為父倉庫名,KYSSubspec1為子倉庫名稱
s2.dependency 'KYSIOSShared/KYSSubspec1'
③ 執(zhí)行 pod update

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