將自己的代碼用cocoapods管理:
一、創(chuàng)建并編輯spec文件
1亮垫、創(chuàng)建spec文件
打開終端輸入cd 到項(xiàng)目根目錄
進(jìn)入到根目錄后輸入命令創(chuàng)建一個(gè)名字叫xl_test.podspec的描述文件
$pod?spec?create?xl_test
2、打開xl_test編輯文件磺送,格式如下:
(max:如果想直接在編譯器輸入也可1.輸入? $:%d代虾,清空全部內(nèi)容,內(nèi)容清空后點(diǎn)擊i 進(jìn)入編輯模式艇肴,輸入下面內(nèi)容即可腔呜。
Pod::Spec.newdo|s|
??s.name?????????=?"xl_test"?
s.version??????=?"1.5"?#當(dāng)前版本(git廠庫中必須要有對(duì)應(yīng)的tag才行,好像有人說同名分支也可以但我沒用過)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
s.summary??????=?"xl_testa?ad?ha?va?"?#描述
s.homepage?????=?"https://github.com/goingta/MyPodDemo"?#庫文件主頁地址
s.license??????=“caimao"
s.author???????=?{?"tanqilong"?=>?"tanqilong@huobi.com"?}??#k開發(fā)者
s.source???????=?{?:git?=>?"http://git.caimaodev.com/tanqilong/pod_test.git",:tag => s.version,:submodules => true?}?#文件的git地址
s.source_files?=?'PodTest/PodTest/*.{h,m}'?#文件所在的目錄,后面*.{h.m}是一個(gè)正則表達(dá)式,目錄我下面會(huì)有解釋
s.resources????=?'PodTest/PodTest/*.xib'?#資源文件所在的目錄圖片,xib等
s.framework????=?'UIKit'?#當(dāng)前這個(gè)庫所依賴的系統(tǒng)的庫
??s.platform?????=?:ios
s.requires_arc?=true#是否支持arc
s.dependency 'AFNetworking', '~> 3.0'///要依賴的庫(可以是私有庫)
end
3再悼、輸入$pod?spec?lint?xl_test.podspec?--allow-warnings驗(yàn)證文件是否有效(默認(rèn)需要提交的代碼是不允許有報(bào)警的核畴,但有些情況不能避免,比如你的代碼里依賴了第三方等情況就需要加?--allow-warnings來忽略報(bào)警)
有passed validating則表示spec文件驗(yàn)證通過了冲九,剩下的就是把 xl_test.podspec 提交給pods的管理庫中就行了谤草,總體來說一般公司用的話提交到自己建的pod管理庫就行,不必(有時(shí)也是不能)提交到官方的庫中,我下面兩中方式都介紹一下:
二丑孩、提交代碼到自建的pod管理庫
1冀宴、創(chuàng)建自己的pod管理庫,這個(gè)太簡單了温学;如果是本地的隨便搞個(gè)空文件夾git init就可以了略贮,不過一般要聯(lián)合開發(fā)的,所以還是在網(wǎng)上整個(gè)空的的git廠庫吧仗岖。
2逃延、終端輸入:
$pod?repo?add?mypod?http://git.caimaodev.com/tanqilong/PrivateCocoapodsSpec.git添加私有repo
? ? ? ? ? ? ? ? ? ? ? ? $pod?repo?list查看是否添加成功
master
-?Type:?git(master)
-?URL:??https://github.com/CocoaPods/Specs.git
-?Path:?/Users/tanqilong/.cocoapods/repos/master? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
mypod
-?Type:?git(master)
-?URL:??http://git.caimaodev.com/tanqilong/PrivateCocoapodsSpec.git
-?Path:?/Users/tanqilong/.cocoapods/repos/mypod
mypod就是我們剛剛私有的
3、將xl_test.podspec文件添加到spec倉庫和cocoapods:$?pod?repo?push?mypod?xl_test.podspec?--allow-warnings
4轧拄、查詢本地私有spec管理文件夾真友,可以點(diǎn)擊看看有沒有
$?open?~/.cocoapods/repos
5、最后就是私有的庫如何使用了紧帕,也很簡單只要在podfile文件中添加一句:
source?'http://git.caimaodev.com/tanqilong/PrivateCocoapodsSpec.git' 即可
source?'https://github.com/CocoaPods/Specs.git'
source?'http://git.caimaodev.com/tanqilong/PrivateCocoapodsSpec.git'? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
platform?:ios,'8.0'
target?'TestCocoaPods'do
pod?'xl_test','~>?1.5'
end
三盔然、下面介紹一下如何將代碼提交到pod官方
1、注冊pod trunk賬號(hào)
終端輸入:$ pod trunk register郵箱'用戶名' --verbose
eg:$?pod trunk register xxx@gmail.com 'shenquan’--verbose
查收郵件是嗜。愈案。(此處省略3萬字)
$pod trunk me,查看一下個(gè)人信息
2、cd 到 xl_test.podspec 所在目錄鹅搪,輸入¥pod trunk push xl_test.podspec? --allow-warnings(用法同上站绪,也是用來忽略警告的,如果沒有還是不要用的好丽柿,畢竟是要拿出來給別人用的庫恢准,還是好好解決一下代碼中的警告吧)
3、等到上傳成功甫题,可以用pod search 驗(yàn)證一下(自建的庫應(yīng)該是不能用pod search 搜索的馁筐,反正我是沒找到方法,如果有誰知道有什么方法可以讓自建庫能被搜索坠非,還請留言告知敏沉,我找了好長時(shí)間,網(wǎng)上的方法都不是太管用)
4炎码、有可能在其他電腦上回搜不到你的提交盟迟,這可能是pod緩存引起的,執(zhí)行一下 pod repo update再搜索就可以了
四潦闲、如果s.dependency依賴用到了私有庫攒菠,在pod spec lint 加上--sources='私有倉庫repo地址,https://github.com/CocoaPods/Specs'; 可以移步Cocoapods使用私有庫中遇到的坑饼问,這個(gè)仁兄介紹了不少.podspec的書寫遇到的問題