CocoaPods Mac App的安裝和使用
CocoaPods桌面應(yīng)用版下載地址:https://cocoapods.org/app
打開應(yīng)用會提示你是否安裝命令行工具盼樟,選擇install就也可以在命令行使用Pod了。省去了上面的步驟們喷鸽,方便快捷的使用CocoaPods乐设。
提交自己的iOS庫到pod
1)首先我們注冊trunk
$ pod trunk register 郵箱地址 'xxx(用戶名)' --verbose
填寫github的賬號郵箱就可以了讼庇,成功后你應(yīng)該會收到一封郵件然后點進去就可以了,然后查看下你的注冊信息
$ pod trunk me
2)接下來就是配置PodSpec文件
podSpec文件是用來讓cocoa pod知道你的庫的位置伤提,以及作者信息想要加入cocoapod這是關(guān)鍵巫俺。
因此,需要將想要傳到pod 上的庫先上傳到github肿男,或者其他可以訪問到的git服務(wù)地址介汹。(個人建議使用github,比較穩(wěn)定舶沛,也有可持續(xù)性嘹承。另外個人還見過上傳到SVN上的,這里不做介紹)如庭。
配置PodSpec文件比較麻煩叹卷,建議直接拷貝下面的然后改參數(shù)(包括格式空格),或者從其他庫拷貝一份修改參數(shù)坪它,主要修改的是以下參數(shù):
- s.name 這個一定要和你的庫名字一樣
- s.version 這個是你的github工程tag對應(yīng)的版本號
- s.summary 是一句話描述庫
- s.description 詳細描述
- s.homepage 這個要改為你github的地址
- s.license 這個一般填寫MIT License LICENSE這個文件是在github上創(chuàng)建工程的時候勾選的
- s.requires_arc = true 是否ARC
- s.author 作者骤竹,建議直接復制過去然后改名字
- s.source = github上的地址以及tag(tag不能錯)
- s.source_files = 庫文件路徑
- s.frameworks 所需要依賴的庫
PS .Spec文件一定要用終端(vim)編輯,千萬不能改為txt文件編輯完成后再改回去。這樣會照成里面內(nèi)容變成中文往毡,會出現(xiàn)格式不對的報錯
文件示例:
https://github.com/caobo56/CBImagePicker/blob/master/CBImagePicker.podspec
然cd 到當前文件目錄 執(zhí)行pod lib lint 檢查:
$ pod lib lint CBBase58.podspec
當然檢查的時候可以加上--verbose蒙揣,來顯示檢查編譯的詳細信息
$ pod spec lint CBBase58.podspec --verbose
檢查報錯:
1)依賴錯誤
- ERROR | [iOS] unknown: Encountered an unknown error (The 'Pods-App' target has transitive dependencies that include static binaries: (/private/var/folders/_r/rtmkt9590l7gkq8zscryyqz80000gn/T/CocoaPods-Lint-20180419-3650-1tkys6n-CBBase58/Pods/OpenSSL-Universal/lib-ios/libcrypto.a and /private/var/folders/_r/rtmkt9590l7gkq8zscryyqz80000gn/T/CocoaPods-Lint-20180419-3650-1tkys6n-CBBase58/Pods/OpenSSL-Universal/lib-ios/libssl.a)) during validation.
這個錯誤是因為依賴庫(s.dependency)包含了.a靜態(tài)庫造成的。雖然這并不影響Pod的使用开瞭,但是驗證是無法通過的懒震。可以通過 --use-libraries 來讓驗證通過嗤详。
$ pod spec lint CBBase58.podspec --verbose --use-libraries
2)警告錯誤
[!] The spec did not pass validation, due to 5 warnings (but you can use
--allow-warnings
to ignore them).
警告同樣是無法通過驗證的个扰。這時可以用 --allow-warnings 來允許警告。
$ pod spec lint CBBase58.podspec --verbose --use-libraries --allow-warnings
3)其他錯誤
如果錯誤發(fā)生在 .podspec 中葱色。當修改完時递宅,不需要再次提交就可以直接驗證。如果錯誤發(fā)生在代碼中苍狰,則需要再次提交并修改tag才能驗證恐锣。
這樣就驗證通過了:
3)上傳庫到pod
$ pod trunk push CBBase58.podspec --verbose --use-libraries --allow-warnings
4)在pod 上查找自己上傳的庫
$ pod search CBBase58
一般上傳完成直接search是查不到的,可以執(zhí)行一到兩次pod update,更新一下pod在本地的索引舞痰,就可以了土榴。
5)更新本地pod索引庫
執(zhí)行pod setup其實在你安裝CocoaPods執(zhí)行pod install時,系統(tǒng)會默認操作pod setup响牛,然而由于中國強大的墻可能會pod setup不成功玷禽。這時就需要手動執(zhí)行pod setup指令,如下:
$ pod setup
會出現(xiàn)Setting up CocoaPods master repo呀打,稍等幾十秒矢赁,最底下會輸出Setup completed。說明執(zhí)行pod setup成功贬丛。
如果pod search操作還是搜索失敗,則需要刪除~/Library/Caches/CocoaPods目錄下的search_index.json文件
pod setup成功后撩银,依然不能pod search,是因為之前你執(zhí)行pod search生成了search_index.json豺憔,此時需要刪掉额获。
$ rm ~/Library/Caches/CocoaPods/search_index.json
刪除成功后够庙,再執(zhí)行pod search。
終端輸入:
$ pod search CBBase58(不區(qū)分大小寫)
輸出:Creating search index for spec repo ‘master’.. Done!抄邀,稍等片刻······就會出現(xiàn)所有帶有CBBase58字段的類庫耘眨。
使用CocoaPods創(chuàng)建私有Spec Repo管理項目公共組件
創(chuàng)建私有Spec Repo ,下面這篇文章講的已經(jīng)很詳細了境肾,參考即可
http://www.cocoachina.com/ios/20170728/20046.html