iOS發(fā)布自己的開源庫(kù)到cocopods

第一步


把自己的框架更新到github 上。


這里就不詳細(xì)介紹如何把項(xiàng)目更新到github上了

第二步


這個(gè)時(shí)候我們的項(xiàng)目已經(jīng)掛在github上了

我們需要給本地的項(xiàng)目新建一個(gè)Podspec描述文件


進(jìn)入命令行

// 進(jìn)入到項(xiàng)目目錄下

$cd xxx/xxx/xxx

// 創(chuàng)建Podspec文件

$pod spec create “你的Podspec名字”

第三步


此時(shí)你已經(jīng)在項(xiàng)目目錄下創(chuàng)建了一個(gè)Podspec文件了

這個(gè)時(shí)候我們需要對(duì)他進(jìn)行編輯

注意:最好用xcode 去編輯 防止錯(cuò)誤 只能輸入英文標(biāo)點(diǎn)


Pod::Spec.new do |s|

s.name = “項(xiàng)目名字”

s.version ="版本號(hào)"

s.summary = "項(xiàng)目介紹"

s.homepage = "你的主頁(yè)地址"

s.license = "MIT" //這里就選這個(gè)許可證

s.author ={"你的名字" => "郵箱"}

s.platform =iOS,"最低支持的系統(tǒng)"

s.source ={git =>"項(xiàng)目git地址",tag =>"tag號(hào)"}

s.source_files = "text/*/.(h.m)" //這里是項(xiàng)目路徑要傳的文件

s.framework ="UIKit" //依賴的系統(tǒng)庫(kù) 可以依賴多個(gè)

// 若需要依賴其他開源的第三方庫(kù) 可以寫成下列形式 若需要有多個(gè)就復(fù)制下面代碼 添加第三方庫(kù)

// s.dependency "AFNetWorking"

// 如果需要配置依賴系統(tǒng)庫(kù)

// s.framework = 'SomeFramework'// 設(shè)置依賴的系統(tǒng)庫(kù)名稱

// s.frameworks = 'SomeFramework', 'AnotherFramework'//設(shè)置多個(gè)系統(tǒng)庫(kù)名稱

// 需要依賴系統(tǒng)的library

s.library = 'iconv'// 設(shè)置只依賴一個(gè)系統(tǒng)的library

s.libraries = 'iconv', 'xml2' // 設(shè)置依賴多個(gè)系統(tǒng)的library

// 這里是工程配置,這樣使用者就不需要手動(dòng)處理,由pod自動(dòng)處理了

s.xcconfig = {'HEADER_SEARCH_PATHS' =>'$(SDKROOT)/usr/include/libxml2'}

附:我自己的一個(gè)例子

YPTreeView.podspec

第四步


然后我們?cè)O(shè)置下tag號(hào) 然后推送到git?


$ git commit -m?

$ git tag 0.0.1 // tag 和上面你設(shè)定的一樣 一般tag號(hào)和版本號(hào)一致

$ git push --tags

$ git push origin master?

我們來(lái)驗(yàn)證下他是否符合要求。?

$ ?pod lib lint "podspec名字".podspec --allow-warnings

?若我們看 ?xxxx.podspec ?passed validation 說(shuō)明這個(gè)配置文件是沒問題的。若失敗了。我們就需要將遠(yuǎn)程tag刪除 重新來(lái)過(guò)刪除tag

? //查看tag

$ ?git tag?

?//刪除一個(gè)指定的tag,并上傳一個(gè)空tag到遠(yuǎn)程tag?

$ ?git tag -dgit push origin :refs/tags/你的tag號(hào)

在驗(yàn)證通過(guò)之后我們需要將代碼提交到cocopods

$ ?pod trunk push "你的podspec名字".podspec --allow-warnings


如果沒有出錯(cuò) 我們就算大功告成了.

通過(guò)pod search "項(xiàng)目名"去搜索你的第三方庫(kù)吧。。

如果沒有搜到,可以先清理一下pod緩存

rm ~/Library/Caches/CocoaPods/search_index.json

---------------------------------------------------------------------------------

報(bào)錯(cuò)

[!] Authentication token is invalid or unverified. Either verify it with the email that was sent or register a new session.

*pod trunk push 會(huì)有權(quán)限校驗(yàn)。請(qǐng)先使用

$ pod trunk register XXX@XXX.com(github郵箱)

然后去郵箱里點(diǎn)擊鏈接再推送。


[!] The validator for Swift projects uses Swift 3.0 by default, if you are using a different version of swift you can use a `.swift-version` file to set the version for your Pod. For example to use Swift 2.3, run: ? ?`echo "2.3" > .swift-version`.

使用命令

$ echo "2.3" > .swift-version

最后編輯于
?著作權(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)容