一迈窟、創(chuàng)建私有庫(kù)
1.創(chuàng)建 github 倉(cāng)庫(kù)
2.創(chuàng)建私有 Spec Repo
先來(lái)說(shuō)第一步睁枕,什么是 Spec Repo ?他是所有的Pods的一個(gè)索引艘蹋,就是一個(gè)容器锄贼,所有公開(kāi)的 Pods 都在這個(gè)里面,他實(shí)際是一個(gè) Git 倉(cāng)庫(kù) remote 端在 GitHub 上女阀,但是當(dāng)你使用了 Cocoapods 后他會(huì)被clone到本地的 ~/.cocoapods/repos 目錄下宅荤,可以進(jìn)入到這個(gè)目錄看到官方的 Spec Repo , 即 master 文件夾
3.創(chuàng)建 iOS Cocoapods 工程項(xiàng)目
如果已有工程文件可需要自行創(chuàng)建 .podspec 文件,并進(jìn)行編輯(操作應(yīng)該和創(chuàng)建新的工程差不多浸策,我還沒(méi)研究 _)冯键。建議用下邊的方法創(chuàng)建新的工程項(xiàng)目,因?yàn)樗鼮槲覀儎?chuàng)建了的榛,依賴(lài)文件琼了,會(huì)少走很多坑(如果你感覺(jué)自己很diao,當(dāng)我沒(méi)說(shuō))
執(zhí)行如下命令夫晌,即可創(chuàng)建
pod lib create KYSIOSShared
其中5個(gè)問(wèn)題分別為:工程語(yǔ)言 | 是否需要Demo | 測(cè)試框架 | 是否需要view測(cè)試 | 工程前綴
4. 配置.podspec文件
庫(kù)文件添加完成后,我們需要配置 .podspec 文件 昧诱,如何配置請(qǐng) Baidu Google
5. 執(zhí)行 pod update
當(dāng)你向 Pod 添加了新文件或更新 .podspec 的版本都需要進(jìn)入 Example 目錄晓淀,執(zhí)行 pod update 更新一下工程,執(zhí)行完它盏档,Pod/Classes中目錄的文件會(huì)自動(dòng)添加到工程中
6. 驗(yàn)證 .podspec 配置文件
在工程目錄下執(zhí)行如下命令
pod lib lint
7. 添加到遠(yuǎn)端倉(cāng)庫(kù)
通過(guò) Cocoapods 創(chuàng)建的項(xiàng)目凶掰,就是用 git 管理的。接下來(lái)我們需要將項(xiàng)目推到我們的私有倉(cāng)庫(kù)
執(zhí)行如下命令
git add .
git commit -s -m "first push"
git remote add origin https://github.com/jackkang0401/KYSIOSShared.git
git push origin master
8. 添加版本控制的項(xiàng)目 tag 號(hào)
執(zhí)行如下命令
git tag -m "first tag" 0.1.0
git push --tags
9. 本地測(cè)試 .podspec 文件
① 配置 Podfile 文件
② 執(zhí)行 pod install
10. 提交私有倉(cāng)庫(kù)
① 執(zhí)行如下命令
KYSIOSShared(本地repo名稱(chēng))蜈亩,KYSIOSShared.podspec(配置文件路徑)
pod repo push KYSIOSShared KYSIOSShared.podspec
② 測(cè)試私有庫(kù)是否創(chuàng)建成功
③ 注意事項(xiàng)
執(zhí)行 pod install 可能會(huì)遇到如下問(wèn)題懦窘,我的解決方案是刪除 Assets 與 Classes 目錄,庫(kù)文件移到其他目錄(我換成功了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.
二道川、 版本升級(jí)
1. 添加新的庫(kù)文件午衰,修改 .podspec 配置文件
2. 進(jìn)入Example目錄,執(zhí)行 pod update
3.驗(yàn)證 .podspec 配置文件
執(zhí)行如下命令
pod lib lint
4. 提交到遠(yuǎn)端倉(cāng)庫(kù)
執(zhí)行如下命令
git add .
git commit -m "update version 0.1.1"
git pull origin master
git push origin master
5.添加新的 tag 號(hào)
執(zhí)行如下命令
git tag -m "first tag" 0.1.1
git push --tags
- 注意:如果擔(dān)心出問(wèn)題最好先進(jìn)行一下本地驗(yàn)證
6.更新私有倉(cāng)庫(kù)
① 執(zhí)行如下命令
pod repo push KYSIOSShared KYSIOSShared.podspec
② 進(jìn)入之前的測(cè)試項(xiàng)目執(zhí)行 pod update 命令
三冒萄、添加子模塊
過(guò)程和版本升級(jí)是一樣的臊岸,就是配置 .podspec 文件稍微復(fù)雜一點(diǎn)
① 私有庫(kù)目錄結(jié)構(gòu)
② .podspec 配置文件
# subspec之間也可以相互依賴(lài)
# KYSIOSShared為父?jìng)}庫(kù)名,KYSSubspec1為子倉(cāng)庫(kù)名稱(chēng)
s2.dependency 'KYSIOSShared/KYSSubspec1'
③ 執(zhí)行 pod update
四尊流、總結(jié)
從零了解到私有庫(kù)創(chuàng)建成功帅戒,用了大約3天的時(shí)間。這期間也入了跟多坑崖技,也查閱了很多資料逻住,覺(jué)得下邊的兩個(gè)鏈接學(xué)的相對(duì)好一些钟哥,可以參考一下。在這里遇到的最大的一個(gè)坑就是前邊說(shuō)道的關(guān)于 Assets鄙信、Classes 目錄的問(wèn)題瞪醋,卡了大約1天多,最后換了庫(kù)文件的路徑才得到解決装诡,如果大家有更好的方案或是文章哪里不對(duì)银受,歡迎您的留言 *_^