創(chuàng)建CocoaPods私有庫

1.創(chuàng)建一個 Git倉庫,這個倉庫你可以創(chuàng)建私有的也可以創(chuàng)建公開的,我是創(chuàng)建私有的倉庫(http://git.oschina.net)。

Snip20170705_1.png

填完點擊創(chuàng)建

Snip20170705_2.png

倉庫創(chuàng)建完成之后在Terminal中執(zhí)行如下命令
pod repo add [私有庫的名稱] [私有庫的下載地址]
pod repo add NNSpecs https://git.oschina.net/ffwang/nnspecs.git
在執(zhí)行之前可看一下~/.cocoapods/repos目錄下有些什么
執(zhí)行之后在會把剛才建立的倉庫下載到~/.cocoapods/repos目錄

Snip20170705_4.png

2.創(chuàng)建Pod項目工程文件
如果是有現(xiàn)有的組件項目,并且在Git的版本管理下,那么這一步就算完成了,可以直接進行下一步了
現(xiàn)在從零開始創(chuàng)建一個組件庫。
先cd到要創(chuàng)建項目的目錄然后執(zhí)行 pod lib create [庫名]
pod lib create FFTestLibrary
執(zhí)行后會問你四個問題,1.是否需要一個例子工程;2.選擇一個測試框架;3.是否基于View測試;4.類的前綴;4個問題的具體介紹可以去看官方文檔

Snip20170705_5.png

都填完執(zhí)行后會自動打開xcode,先把xcode關(guān)一下看看目錄結(jié)構(gòu)

Snip20170705_7.png

打開FFTestLibrary目錄可以看到Assets和Classes目錄

Snip20170705_2.png
Snip20170705_5.png

現(xiàn)在打開FFTestLibrary.podspec文件

Snip20170705_8.png

這個里面怎么寫到處都有,就不多說啦

3.添加遠端倉庫,同樣去GitHub或其他的Git服務(wù)提供商那里創(chuàng)建一個私有的倉庫
和第一步一樣創(chuàng)建一個私有倉庫,然后cd到需要放的目錄
git clone https://git.oschina.net/XXXX/fftestlibrary.git

把之前創(chuàng)建的FFTestLibrary里面的Example、FFTestLibrary、FFTestLibrary.podspec這3個放到上面cd的目錄,然后準備push到倉庫去
git add .
git commit -s -m "Initial Commit of Library"
git push origin master #提交到遠端倉庫

git tag -m "first release" "0.1.0" #添加tag
git push --tags

tag非常重要一定要
tag的值要和FFTestLibrary.podspec 中的s.version一樣
看到網(wǎng)上別人push之前執(zhí)行g(shù)it remote add origin xxxxxxxx這一條,但是我執(zhí)行了會報錯說已經(jīng)存在了,所以我就省了

Snip20170705_9.png

看到這些這是已經(jīng)提交成功了

4.驗證FFTestLibrary.podspec文件是否正確
執(zhí)行 pod lib lint

Snip20170705_10.png

再執(zhí)行 pod spec lint ,一樣看到綠字就成功了
不驗證直接push也是可以的,只要有信心一定沒問題就行

5.向Spec Repo提交podspec
pod repo push NNSpecs FFTestLibrary.podspec #前面是本地Repo名字 后面是podspec名字

Snip20170705_11.png
Snip20170705_12.png

現(xiàn)在可以搜一下試試看
pod search FFTestLibrary

Snip20170705_13.png

可以搜到說明已經(jīng)加成功了

現(xiàn)在打開xcode建一個新的工程試試看

Snip20170705_15.png

這樣好像沒毛病 但是在終端pod install一下發(fā)現(xiàn)不好用

Snip20170705_16.png

這里需要最后一步push到trunk上
pod trunk push FFTestLibrary.podspec

Snip20170705_17.png

看到這里才算完成了


要刪除私有Spec Repo下的某一個podspec
只需要cd到~/.cocoapods/repos/[自己的Specs]目錄下,刪掉庫目錄
git add .
git commit -m "刪掉庫目錄了"
git push origin master
打完以上3條命令就完成了


最后聊一下可能遇到的坑
在 pod lib create [XXX庫名] 的時候可能會出錯

Snip20170705_6.png

輸入上面提示的colored2的兩條gem命令即可解決問題
sudo gem install colored2
sudo gem update --system

在最后pod install的時候我們的庫會找不到

Snip20170705_7.png

只需在podfile中加入source即可

Snip20170705_8.png

加上之后再pod install就能成功了

需要使用自己的私有庫和pod官方的庫都想用就必須在podfile中添加source
source 'https://github.com/tmd2013/FFWangSpec.git'
source 'https://github.com/CocoaPods/Specs.git'

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