用CocoaPods來對項目中需要的第三方庫進(jìn)行導(dǎo)入是相當(dāng)方便的;但是如果想對自己日常的積累的庫也能使用CocoaPods來進(jìn)行導(dǎo)入是相當(dāng)方便的一件事;下面贅述一下完成的一個流程:
1.首先得有一個Git倉庫况芒,GitHub的私有倉庫需要收費(fèi);可以使用其他的平臺來創(chuàng)建私有倉庫(比如:CODING叶撒、開源中國绝骚、Bitbucket、CSDN)祠够,這里我用的是GitHub压汪;有賬號之后就開始創(chuàng)建倉庫
點(diǎn)擊紅色框創(chuàng)建項目,然后出現(xiàn)以下界面:
2.這樣一個倉庫就創(chuàng)建完成古瓤,下面就是把倉庫同步到電腦上止剖,我用的是github的客戶端,挺方便的落君。直接
就可以同步到本地穿香;下面是配置spec文件,除開MD绎速,其他兩個文件都是必須添加的文件
A.首先生成LICENCE文件扔水,名字一定要是這個
在下圖標(biāo)記處輸入LICENCE后會提示你選擇文件類型;
選擇MT這一列
紅線方框自動給你填入朝氓,點(diǎn)擊提交就行
自此就完成LICENCE的創(chuàng)建
3.podspec的創(chuàng)建,創(chuàng)建podspec文件先要把你的項目放進(jìn)本地倉庫里面主届,層級關(guān)系最好是按照這樣赵哲,否則寫修改podspece文件中的路徑關(guān)系會搞暈;
4.然后cd到你項目的目錄,執(zhí)行命令
// 注 xxxx 這個是你框架的名稱
$ pod spec create xxxx
5.編輯.pod spec
Pod::Spec.new do |s|
s.name = "xxxx"
s.version = "1.0.0"
s.ios.deployment_target = '7.0'
s.summary = "A delightful setting interface framework."
s.homepage = "https://github.com/coderYJ/xxxx"
s.license = { :type => "MIT", :file => "LICENSE" }
s.author = { "coderYJ" => "你的賬戶" }
s.social_media_url = "你的郵箱"
s.source = { :git => "https://github.com/coderYJ/xxxx.git", :tag => s.version }
s.source_files = "xxxx/*.{h,m}"
s.resources = "xxxx/xxxx.bundle"
s.requires_arc = true
end
接下來講解一下每行代碼的含義
s.name:名稱君丁,pod search 搜索的關(guān)鍵詞,注意這里一定要和.podspec的名稱一樣,否則報錯
s.version:版本號
s.ios.deployment_target:支持的pod最低版本
s.summary: 簡介
s.homepage:項目主頁地址
s.license:許可證
s.author:作者
s.social_media_url:社交網(wǎng)址,這里我寫的微博默認(rèn)是Twitter,如果你寫Twitter的話,你的podspec發(fā)布成功后會@你
s.source:項目的地址
s.source_files:需要包含的源文件
s.resources: 資源文件
s.requires_arc: 是否支持ARC
s.dependency:依賴庫枫夺,不能依賴未發(fā)布的庫
s.dependency:依賴庫,如有多個可以這樣寫
6.將包含配置好的 .podspec, LICENSE 的項目提交 Git
git tag "v1.0.0"
git push --tags
然后執(zhí)行命令
pod spec lint xxx.podspe
如果失敗會提示錯誤信息绘闷,耐心看一下橡庞;成功會顯示
7.然后注冊Trunk
trunk需要CocoaPods 0.33版本以上,用pod --version
命令查看版本印蔗,
如果版本低扒最,需要升級:
sudo gen install cocoapods
pod setup
已經(jīng)注冊過的不需要注冊,怎么看自己有沒有注冊
pod trunk me
注冊
// 加上--verbose可以輸出詳細(xì)debug信息,方便出錯時查看华嘹。
pod trunk register 你的賬號 "用戶名" --verbose
注冊完成之后會給你的郵箱發(fā)個郵件,進(jìn)入郵箱郵件里面有個鏈接,需要點(diǎn)擊確認(rèn)一下
8.發(fā)布
發(fā)布時會驗證 Pod 的有效性吧趣,如果你在手動驗證 Pod 時使用了 --use-libraries 或 --allow-warnings 等修飾符,那么發(fā)布的時候也應(yīng)該使用相同的字段修飾,否則出現(xiàn)相同的報錯强挫。
pod trunk push xxx.podspec
如果OK了會提示
之前的三個庫都出現(xiàn)pod search 找不到岔霸,用的是pod setup 然后在rm 本地的json,之后search就ok了
相信有的小伙伴已經(jīng)成功安裝了CocoaPods俯渤,也可以正常使用呆细,然而會發(fā)現(xiàn)執(zhí)行`pod search`來搜索類庫信息時,卻總是`[!] Unable to find a pod with name, author, summary, or descriptionmatching '······'`八匠。在此我分享一下自己的經(jīng)驗絮爷,希望能給您提供幫助。(此貼是在成功安裝CocoaPods臀叙,但不能pod search搜素類庫的情況下探討問題)略水。
執(zhí)行pod setup
其實在你安裝CocoaPods執(zhí)行pod install時,系統(tǒng)會默認(rèn)操作pod setup劝萤,然而由于中國強(qiáng)大的墻可能會pod setup不成功渊涝。這時就需要手動執(zhí)行pod setup指令,如下:
終端輸入:pod setup
會出現(xiàn)Setting up CocoaPods master repo床嫌,稍等幾十秒跨释,最底下會輸出Setup completed。說明執(zhí)行pod setup成功厌处。
如果pod search操作還是搜索失敗鳖谈,如下:
終端輸入:pod search AFNetworking
輸出:Unable to find a pod with name, author, summary, or descriptionmatching 'AFNetworking' 這時就需要繼續(xù)下面的步驟了。
刪除~/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。
執(zhí)行pod search
終端輸入:pod search afnetworking(不區(qū)分大小寫)
輸出:Creating search index for spec repo 'master'.. Done!椭住,稍等片刻······就會出現(xiàn)所有帶有afnetworking字段的類庫崇渗。
拿走,不謝京郑!