提交自己代碼到cocoapods(組件化開發(fā)準(zhǔn)備)

將自己的代碼用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的書寫遇到的問題

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容