前言
之前項(xiàng)目中的一些組件需要拆分開來吸奴,因?yàn)檫@些組件在不同的APP中都需要使用(比如:圖片上傳模塊,工具類庫等)。因此為了統(tǒng)一管理且不暴露核心的代碼则奥,我們決定借助CocoaPods建立私有倉庫進(jìn)行統(tǒng)一管理考润,也就是所說的組件化。組件化好處是分工更加明確读处,提高開發(fā)效率糊治,復(fù)用性更好,能迅速的組成更多的APP罚舱。
制作私有庫
1井辜、創(chuàng)建私有倉庫
這里我在碼云上建立了一個(gè)私有倉庫 https://gitee.com/qinhongke/QHKTest.git
2、添加私有倉庫到本地pod庫
打開終端管闷,任意路徑下粥脚,輸入pod repo add QHKTest https://gitee.com/qinhongke/QHKTest.git,成功之后包个,我們可以查看一下:open ~/.cocoapods/repos
3刷允、再在碼云上建立一個(gè)私有庫 https://gitee.com/qinhongke/QMKit.git
4、在本地建立pod工程(為了方便碧囊,建議操作路徑為桌面)
$ cd Desktop
$pod lib create QMKit
在創(chuàng)建的過程中會有一系列的詢問:
What is your email?
What language do you want to use?? [ Swift / ObjC ]
Would you like to include a demo application with your library? [ Yes / No ]
Which testing frameworks will you use? [ Specta / Kiwi / None ]
Would you like to do view based testing? [ Yes / No ]
What is your class prefix?
完成一系列詢問后,桌面會出現(xiàn)QMKit文件夾树灶,打開可以開看到:
5、編輯podspec文件
用Xcode 打開QMKit.Podspec文件進(jìn)行編輯
6糯而、提交代碼天通,并打tag
cd QMKit 文件夾路徑下
$ git init
$git add .
$git commit -m '上傳工程'
$git remote add origin https://gitee.com/qinhongke/QMKit.git
$git push origin master
$git tag 0.1.0
$git push --tags
7、檢測pod庫是否可用
一樣是在QMKit 文件夾路徑下
pod lib lint
如果有警告可以使用命令忽略:
pod lib lint --allow-warnings
如果遇到[!] An unexpected version directoryApp.lprojwas encountered for the etc...這個(gè)類似的錯(cuò)誤說明cocoapods版本比較低用gem install cocoapods --pre更新重試
8熄驼、向QHKTest提交QMKit.podspec
進(jìn)入QMKit目錄像寒,執(zhí)行以下命令
pod repo push QHKTest QMKit.podspec
成功后open ~/.cocoapods/repos/QHKTest
9、檢測一下pod庫是否可用
重新打開終端?
&pod cache clean —all
&pod search QMKit
搜索到 則成功谜洽,繼續(xù)驗(yàn)證
platform:ios, '8.0'
target 'QMTest' do
pod 'QMKit', '~> 0.1.0'
end
如搜索不到
執(zhí)行pod setup其實(shí)在你安裝CocoaPods執(zhí)行pod install時(shí)萝映,系統(tǒng)會默認(rèn)操作pod setup,然而由于中國強(qiáng)大的墻可能會pod setup不成功阐虚。這時(shí)就需要手動(dòng)執(zhí)行pod setup指令序臂,如下:
終端輸入:pod setup
會出現(xiàn)Setting up CocoaPods master repo,稍等幾十秒实束,最底下會輸出Setup completed奥秆。說明執(zhí)行pod setup成功。
如果pod search操作還是搜索失敗咸灿,如下:
終端輸入:pod search QMKit
刪除~/Library/Caches/CocoaPods目錄下的search_index.json文件
pod setup成功后构订,依然不能pod search,是因?yàn)橹澳銏?zhí)行pod search生成了search_index.json避矢,此時(shí)需要?jiǎng)h掉悼瘾。
終端輸入:rm ~/Library/Caches/CocoaPods/search_index.json
刪除成功后囊榜,再執(zhí)行pod search。
執(zhí)行pod search
終端輸入:pod search QMKit
輸出:Creating search index for spec repo ‘master’.. Done!亥宿,稍等片刻······就會出現(xiàn)所有帶有QMKit字段的類庫卸勺。
參考文章:http://www.reibang.com/p/ad82606b2796