將自己的代碼用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,清空全部?jī)?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廠庫(kù)中必須要有對(duì)應(yīng)的tag才行,好像有人說同名分支也可以但我沒用過)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
s.summary??????=?"xl_testa?ad?ha?va?"?#描述
s.homepage?????=?"https://github.com/goingta/MyPodDemo"?#庫(kù)文件主頁(yè)地址
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è)庫(kù)所依賴的系統(tǒng)的庫(kù)
??s.platform?????=?:ios
s.requires_arc?=true#是否支持arc
s.dependency 'AFNetworking', '~> 3.0'///要依賴的庫(kù)(可以是私有庫(kù))
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的管理庫(kù)中就行了,總體來說一般公司用的話提交到自己建的pod管理庫(kù)就行,不必(有時(shí)也是不能)提交到官方的庫(kù)中,我下面兩中方式都介紹一下:
二、提交代碼到自建的pod管理庫(kù)
1、創(chuàng)建自己的pod管理庫(kù),這個(gè)太簡(jiǎn)單了;如果是本地的隨便搞個(gè)空文件夾git init就可以了,不過一般要聯(lián)合開發(fā)的,所以還是在網(wǎng)上整個(gè)空的的git廠庫(kù)吧。
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倉(cāng)庫(kù)和cocoapods:$?pod?repo?push?mypod?xl_test.podspec?--allow-warnings
4、查詢本地私有spec管理文件夾,可以點(diǎn)擊看看有沒有
$?open?~/.cocoapods/repos
5、最后就是私有的庫(kù)如何使用了,也很簡(jiǎn)單只要在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、注冊(cè)pod trunk賬號(hào)
終端輸入:$ pod trunk register郵箱'用戶名' --verbose
eg:$?pod trunk register xxx@gmail.com 'shenquan’--verbose
查收郵件。。(此處省略3萬(wàn)字)
$pod trunk me,查看一下個(gè)人信息
2、cd 到 xl_test.podspec 所在目錄,輸入¥pod trunk push xl_test.podspec? --allow-warnings(用法同上,也是用來忽略警告的,如果沒有還是不要用的好,畢竟是要拿出來給別人用的庫(kù),還是好好解決一下代碼中的警告吧)
3、等到上傳成功,可以用pod search 驗(yàn)證一下(自建的庫(kù)應(yīng)該是不能用pod search 搜索的,反正我是沒找到方法,如果有誰(shuí)知道有什么方法可以讓自建庫(kù)能被搜索,還請(qǐng)留言告知,我找了好長(zhǎng)時(shí)間,網(wǎng)上的方法都不是太管用)
4、有可能在其他電腦上回搜不到你的提交,這可能是pod緩存引起的,執(zhí)行一下 pod repo update再搜索就可以了
四、如果s.dependency依賴用到了私有庫(kù),在pod spec lint 加上--sources='私有倉(cāng)庫(kù)repo地址,https://github.com/CocoaPods/Specs'; 可以移步Cocoapods使用私有庫(kù)中遇到的坑,這個(gè)仁兄介紹了不少.podspec的書寫遇到的問題