0.注意事項? 私有庫中的一些注意事項,包括podspec文件的路徑配置和其他資源的使用等
1.生成sshkey?請只看第三部分生成和添加sshkey
2.創建一個私有的 Spec倉庫
在github上或其他代碼管理工具(Gitlab,Coding, Bitbucket)上創建私有倉庫,(公司內部使用的話這里推薦大家使用私有的倉庫,但是 github 的私有倉庫是要收費的 $7/month),我們以在 github 上創建為例:命名為xxSpecs
這個倉庫是用來存放我們自己所有的私有庫的 spec 文件,然后我們就可以在終端中執行:
pod repo add MyTest10Specs https://github.com/tencheer2017/MyTest10Specs.git
3.創建私有庫代碼
可以是分割已有的項目中的代碼,也可以通過命令創建
3-1.分割已有的項目代碼:將已經寫好的項目代碼全部放到一個已項目名稱命名文件夾并分好類,通過命令創建podspec文件
pod spec create xxx
然后根據上面的注意事項進行配置好就可以了??梢酝ㄟ^在項目的podfile文件中添加pod 'MyTest10', :path => '../MyTest'來進行測試。
測試運行,如果沒有錯誤并且達到運行效果,cd到私有庫代碼文件夾(包含有.podspec文件)執行命令進行本地驗證:
pod lib lint
3-2.通過命令行創建新項目:
pod lib create xxxx
接下來會有幾個問題,按自己意愿回答就好
然后他會自動執行pod install命令創建項目并生成依賴,并且自動創建了podspec文件,你只需要修改就可以了。
將你需要的已經寫好的代碼文件和資源文件直接add進項目,關掉項目,執行命令pod install,再重新打開,每次進行修改都要重復此操作(修改項目文件中的代碼不需要此操作),而上面的分割已有的代碼文件并通過在podfile文件里添加 pod 'MyTest10', :path => '../MyTest10'配置進行本地測試則不用,每次在項目中進行修改的都是直接修改分割的私有庫文件夾中的文件。
測試運行,如果沒有錯誤并且達到運行效果,cd到私有庫代碼文件夾(包含有.podspec文件)執行命令進行本地驗證:
pod lib lint
如果驗證通過,則往下執行,否則,根據錯誤提示進行修改直至通過。
4.創建存放代碼的私有倉庫
同理按照第2步的創建方式創建用來存儲代碼的私有倉庫,命名為你的私有庫的名稱,記得選擇MIT
提交私有庫代碼到剛剛創建的倉庫
$ git add .
$ git commit -s -m "初始化xxx庫"
$ git remote add origin https://github.com/tencheer2017/MyTest10.git? ? ? ? ? #添加遠端倉庫
$ git push origin master? ? #提交到遠端倉庫
$ git tag -m "first release" "0.1.0" #打上標簽,這個很重要,與podspec中的版本號一致,podspec中的版本號可以修改
$ git push --tags? ? #推送tag到遠端倉庫
注意:先提交后tag
5.向私有Spec倉庫提交podspec文件
在Terminal中執行 cd進入項目根目(包含有podspec文件的目錄)錄然后,執行以下命令:
$ pod repo push MyTest10Specs MyTest10.podspec
這一步如果出現問題驗證不通過,可以查看自己的tag是否打成功,是否與podspec中的版本一致。
如果提交成功就可以在Terminal中執行 pod search MyTest10進行查看了。
6.在podfile文件中使用
找不到 MyTest10 ? 額- -!。。。剛才 search 明明可以找到這個依賴庫的,為什么現在找不到了呢?
別著急!其實原因是你在 Podfile 中沒有指定路徑,當你執行 pod install 的時候,CocoaPods 默認只會在 master 下搜索,而我們的 spec 是存在我們私有的 MyTest10Specs 目錄下的。所以解決方式很簡單,就是引入搜索地址即可,在 Podfile 的頂部添加如下兩行代碼:
source 'https://github.com/CocoaPods/Specs.git'? ? ? ? #官方倉庫地址
source ‘https://github.com/tencheer2017/MyTest10Specs.git’? ? ? ? #私有Specs倉庫地址
這里必須添加兩個地址,默認情況下,你如果不添加 source ,系統會默認使用官方倉庫地址,但是當你添加了 source 之后,系統就不會自動搜索官方地址,所以這兩句都必須添加,否則其他基于官方的依賴庫都不能使用了。
再次執行 pod install ,就可以安裝成功了。
7.更新維護podspec
對本地庫代碼文件進行修改,修改podspec文件
pod lib lint
測試運行無誤后,提交,打tag。
將修改后的podspec文件再次提交到私有Specs庫。
pod repo push MyTest10Specs MyTest10.podspec
參考: