發(fā)布自己的pods到CocoaPods(轉(zhuǎn)載)

首先更新了用trunk之后,CocoaPods 需要0.33版本以上的,用 pod --version 查看,如果版本低,需要更新pod參考guides.cocoapods.org/making/gett…

1.賬號注冊

$ pod trunk register 郵箱'用戶名'--description='電腦描述'

2.查收郵件

點(diǎn)擊郵件的鏈接就完成了trunk注冊流程。

3.標(biāo)記tag

cd到項(xiàng)目根目錄

如果未標(biāo)記tag,驗(yàn)證的時(shí)候會fatal: Remote branch 0.0.1 not found in upstream origin

$? git tag'0.0.1'$? git push --tags

4.創(chuàng)建podspec文件

$ pod spec create? AdAlertView

這時(shí)候本地就生成一個(gè)AdAlertView.podspec文件

5.用編輯器打開.podspec文件

刪除不必要的注釋(這里只簡單介紹基本用法,所以只用到一部分必須得字段 更多字段請移步http://guides.cocoapods.org/syntax/podspec.html)編輯的時(shí)候會報(bào)如下錯(cuò)誤,根據(jù)提示修改即可

打開spec文件,修改source_files 和 public_header_files

參照:

s.name? ? ? ? ="verifyNumberCode"s.version? ? ? ="0.0.1"s.summary? ? ? ="A short description of verifyNumberCode."s.description? ="實(shí)現(xiàn)短信驗(yàn)證碼驗(yàn)證"s.homepage? ? ="https://github.com/IT-iOS-xie/verifyNumberCode.git"s.license? ? ? ="MIT"s.license? ? ? = { :type=>"MIT", :file =>"FILE_LICENSE"} s.author? ? ? ? ? ? = {"xie"=>"*********@qq.com"} s.social_media_url? ="http://twitter.com/xie"s.platform? ? = :ios s.source? ? ? = { :git =>"https://github.com/IT-iOS-xie/verifyNumberCode.git", :tag =>"0.0.1"} s.source_files? ="Classes","verifyNumberCode/*.{h,m}"s.exclude_files ="Classes/Exclude"s.public_header_files ="verifyNumberCode/*.h"s.requires_arc =true

podSpec中spec的全稱是Specification,說明書的意思。顧名思義,這是用來描述你這個(gè)私有pod的說明信息的。podSpec是cocoapods的一種文件格式,有一套自己的語法,我們可以到cocoapods官網(wǎng)進(jìn)行詳細(xì)了解(guides.cocoapods.org/syntax/pods…)。

創(chuàng)建podSpec很簡單,只要?jiǎng)?chuàng)建一個(gè)以.podSpec為后綴的文件即可,或者直接拷貝別人的進(jìn)行修改也可以。

它的創(chuàng)建命令是:$pod spec create TestFile

podspec文件的常用配置字段介紹

框架名字:框架名字一定要寫對,pod search"框架名"就是搜的這個(gè)

s.name="yoowei"

框架版本號

s.version="1.0.0"

框架簡介

s.summary="yoowei框架"

框架的主頁

s.homepage="https://git.oschina.net/yoowei"

框架遵守的開源協(xié)議

s.license? ='MIT'

框架的作者

s.author? = {"yoowei"=>"yoowei@126.com"}

框架的資源路徑:路徑可以指向遠(yuǎn)端代碼庫,也可以指向本地項(xiàng)目,例如:1.指向遠(yuǎn)端代碼庫:{ :git => "git@git.oschina.net:yoowei/yoowei.git", :tag => "1.0.0" }2.指向本地項(xiàng)目:? ? { :path => 'yoowei', }

s.source? = { :git =>"git@git.oschina.net:yoowei/yoowei.git", :tag =>"1.0.0"}

框架被其他工程引入時(shí),會導(dǎo)入yoowei目錄下的.h和.m文件

s.source_files ='yoowei/**/*.{h,m}'

框架被其他工程引入時(shí),會導(dǎo)入yoowei/resource目錄下的資源文件

s.resources = {'yoowei'=> ['yoowei/resource/**/*.{storyboard,xcassets,xib,png']? }

框架依賴的framework

s.framework ='CoreData'

框架依賴的其他第三方庫

s.dependency'MagicalRecord', :git =>'https://github.com/iiiyu/MagicalRecord.git', :tag =>'sumiGridDiary2.1's.dependency'MBProgressHUD'

框架是否需要支持ARC

s.requires_arc =true

框架支持的最低平臺版本

s.platform = :ios,'7.0'

框架公開的頭文件

s.public_header_files ='yoowei/**/*.h'

6.驗(yàn)證spec文件

編輯完podspec文件后需要驗(yàn)證一下這個(gè)文件是否可用podspec文件不允許有任何的Warning或者Error

執(zhí)行命令

$ pod lib lint

有事會出現(xiàn)部分警高

忽略警高

$ pod lib lint --allow-warnings

7.pushpodspec文件

$ pod trunk push AdAlertView.podspec

忽略警告

$? pod trunk push AdAlertView.podspec --allow-warnings

如果此時(shí)報(bào)下面的錯(cuò)誤,沒有設(shè)置tag

trunk成功

我們現(xiàn)在就可以使用pod search adalertview

如果提示[!] Unable to find a pod with name, author, summary, or description matchingadalertview``1.Finder前往資源庫去刪除緩存中的search_index.json(xie修改成你自己的)/Users/xie/Library/Caches/CocoaPods刪除search_index.json或執(zhí)行

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

然后再輸入pod search時(shí)會重新創(chuàng)建這個(gè)search_index.json

有時(shí)候發(fā)布完可能需要等一段時(shí)間才能搜索到。

作者:西門吹霧

鏈接:https://juejin.im/post/5a549248518825733060cd47

來源:掘金

著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。

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

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

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