想讓自己封裝的組件等支持pod忽刽,就要?jiǎng)?chuàng)建podspec文件
1天揖、上傳項(xiàng)目源碼
詳細(xì)請(qǐng)看:Github 簡(jiǎn)明教程
2、創(chuàng)建項(xiàng)目的podspec文件
用終端命令cd到本地項(xiàng)目目錄并執(zhí)行如下命令:
pod spec create LSAlert
這時(shí)候本地就生成一個(gè)LSAlert.podspec
文件
用編輯器打開.podspec文件 (我自己用Sublime Text)
刪除不必要的注釋(這里只簡(jiǎn)單介紹基本用法跪帝,所以只用到一部分必須得字段 更多字段請(qǐng)移步http://guides.cocoapods.org/syntax/podspec.html)
Pod::Spec.new do |s|
s.name = "LSAlert"
s.version = "1.0.0"
s.summary = "A custom UIAlertView."
s.description = <<-DESC
這是一個(gè)自定義的UIAlertView今膊,支持多按鈕,無按鈕伞剑,帶圖片的展示
DESC
s.homepage = "https://github.com/tianyc1019/LSAlert"
s.license = "MIT"
s.author = { "John_LS" => "tianyc1019@icloud.com" }
# s.platform = :ios
s.platform = :ios, "9.0"
s.source = { :git => "https://github.com/tianyc1019/LSAlert.git", :tag => "1.0.0" }
s.source_files = "LSAlert/**/*.{swift}"
# s.exclude_files = "Classes/Exclude"
end
3斑唬、驗(yàn)證podspec文件
編輯完podspec文件后,先打個(gè)tag標(biāo)記
創(chuàng)建tag
git tag '1.0.0'
git push --tags
刪除tag
//查看tag
git tag
//刪除一個(gè)指定的tag,并上傳一個(gè)空tag到遠(yuǎn)程tag
git tag -d <tagname>
git push origin :refs/tags/<tagname>
然后再驗(yàn)證下podspec文件是否正確,podspec文件不允許有任何的Warning或者Error
執(zhí)行命令,
pod lib lint
(也可以用pod lib lint --allow-warnings 來忽略警告)
如果出現(xiàn)
-> LSAlert (0.0.1)
LSAlert passed validation.
如果出現(xiàn)Error但是提示信息不足,可以添加--verbose 以獲取更多錯(cuò)誤信息
$ pod lib lint --verbose
4赖钞、使用pod trunk命令腰素,把podspec文件推送到CocoaPod官方庫
pod trunk
需要注冊(cè) 請(qǐng)移步CocoaPod官網(wǎng)
注冊(cè)trunk 需要cocoapod是版本在0.33以上
執(zhí)行命令
pod trunk register tianyc1019@icloud.com 'tianyc1019' --verbose
郵箱以及用戶名請(qǐng)對(duì)號(hào)入座。用戶名我使用的是Github上的用戶名雪营。--verbose參數(shù)是為了便于輸出注冊(cè)過程中的調(diào)試信息弓千。執(zhí)行上面的語句后,你的郵箱將會(huì)受到一封帶有驗(yàn)證鏈接的郵件献起,如果沒有請(qǐng)去垃圾箱找找洋访,有可能被屏蔽了。點(diǎn)擊郵件的鏈接就完成了trunk注冊(cè)流程谴餐。使用下面的命令可以向trunk服務(wù)器查詢自己的注冊(cè)信息:
pod trunk me
如果你的pod是由多人維護(hù)的姻政,你也可以添加其他維護(hù)者
pod trunk add-owner xxx@163.com
pod trunk
設(shè)置完畢后執(zhí)行命令
$ pod trunk push LSAlert.podspec
可以使用--allow-warnings
忽略警告
pod trunk push LSAlert.podspec --allow-warnings
然后慢慢等著,有點(diǎn)慢
5岂嗓、最后
如果一切順利,先更新pod依賴庫
pod setup
pod search LSAlert
就可以找到剛才的項(xiàng)目了 并且還有安裝命令
pod 'LSAlert'汁展,'~>0.0.1'
最后總結(jié)下操作步驟:
1.你的開源庫發(fā)布之后,需要打上版本號(hào)tag厌殉,否則后續(xù)不能完成
2.注冊(cè)pod trunk
pod trunk register xxx@xx'Your name' --description='macbook pro'
2.cd到項(xiàng)目目錄下食绿,創(chuàng)建podspec文件
pod spec createYourPodProjectName
3.修改podspec文件中的相關(guān)信息,這很重要公罕,校驗(yàn)器紧,不能有任何警告或錯(cuò)誤
pod spec lint YourPodProjectName.podspec
4.發(fā)布到pod trunk
pod trunk pushYourPodProjectName.podspec
5.更新pod庫
pod setup
podspec文件更新方法
有時(shí)你可能會(huì)遇到這種情況:執(zhí)行pod trunk push操作后發(fā)現(xiàn)podspec文件的某個(gè)地方寫錯(cuò)了,想更新一下楼眷。對(duì)于這種情況铲汪,我們可能會(huì)先嘗試著在把podspec文件push一次。但是如果你的代碼版本號(hào)沒變(podspec里的version自然也沒變)就會(huì)提示push失敗罐柳,即使你更改了podspec的其他地方掌腰,pod也會(huì)認(rèn)為這兩個(gè)文件是同一個(gè)。 我目前為止找不到trunk的相關(guān)update接口硝清,所以只能順?biāo)浦鄹ㄕ澹略创a版本號(hào)(如:1.1.1->1.1.2),重新push version tag芦拿,然后再執(zhí)行pod trunk push操作。