將組件上傳到github后杆故,接下來就是需要支持CocoaPods蜕乡,這樣就能讓更多人更方便去使用牵触。接下來以我的開源項目YKLaunchAd為例草娜。
### 1. cd進(jìn)入項目目錄墩剖,然后輸入
> git tag '1.0.0'
> git push --tags
> git push origin master
給項目加入一個tag猴凹,以便pod能自動識別,這里的版本號和后面.podspec文件里的s.version一樣岭皂。
### 2. 注冊trunk賬號
如果之前沒有注冊郊霎,第一步要先注冊
> pod trunk register userEmail 'userName' --description='macbook pro'
如果成功,在控制臺會顯示[!] Please verify the session by clicking the link in the verification email that has been sent to 592306623@qq.com爷绘。這里我用xxxx@yeah.net的郵箱提示成功书劝,但始終沒收到郵件进倍。收到郵件后進(jìn)入鏈接頁面激活。
激活后在控制臺使用`pod trunk me`查詢注冊信息
如果你想添加其他維護(hù)者
> pod trunk add -owner ARAnalytics kyle@cocoapods.org
### 3. 生成.podspec描述文件
> $ pod spec create YKLaunchAd
會生成一個YKLaunchAd.podspec文件购对,你也可以使用vim創(chuàng)建背捌,只是沒有默認(rèn)文本,或者對其它類似成熟開源項目的.podspec文件修改洞斯。
### 4. 編輯.podspec
創(chuàng)建好的 .podspec 包含大量的注釋說明了每個參數(shù)的含義及用法毡庆。如果想詳細(xì)了解可以仔細(xì)閱讀。有些用不到的就刪除掉烙如。下面是我的.podspec文件
```
Pod::Spec.new do |s|
s.name? ? ? ? = "YKLaunchAd"
s.version? ? ? = "1.0.0"
s.summary? ? ? = "幾行代碼接入啟動頁廣告么抗,自帶圖片下載、緩存功能亚铁,無任何第三方依賴蝇刀,支持GIF、自定義廣告frame徘溢,支持自定義廣告結(jié)束轉(zhuǎn)場動畫吞琐,支持iPhone/iPad等功能"
s.homepage? ? = "https://github.com/jinstar520/YKLaunchAdDemo"
s.license? ? ? = { :type => "MIT", :file => "LICENSE" }
s.authors? ? ? = { "jinstar520" => "jinstar520@yeah.net"}
s.platform? ? = :ios, "7.0"
s.source? ? ? = { :git => "https://github.com/jinstar520/YKLaunchAdDemo.git", :tag => s.version }
s.source_files = "YKLaunchAd/**/*.{h,m}"
s.requires_arc = true
end
```
.podspec文件不要用文本編輯打開,因為"會是中文的然爆。使用支持MarkDown編輯的編輯器打開站粟。
這里s.source_files很重要,是你cocoapods所需要的文件路徑曾雕,常見寫法
>"Directory1/*"
>"Directory1/Directory2/*.{h,m}"
>"Directory1/**/*.h"
- “*” 表示匹配所有文件
- “*.{h,m}” 表示匹配所有以.h和.m結(jié)尾的文件
- “**” 表示匹配所有子目錄
以"YKLaunchAd/**/*.{h,m}"為例奴烙,因為在YKLaunchAd下有Category子目錄。
### 5. 驗證.podspec
編輯好后最好先驗證 .podspec 是否有有效
> $ pod spec lint YKLaunchAd.podspec
驗證成功后:
> YKLaunchAd.podspec passed validation.
如果驗證失敗剖张,首先測試本地 .podspec 文件是否存在語法錯誤切诀,特別是s.source_files有沒有寫錯,是否含有中文字符等搔弄,這里先不對錯誤排查進(jìn)行說明幅虑。
### 6. 發(fā)布到CocoaPods
驗證.podspec通過后,就可以發(fā)布了
> pod trunk push YKLaunchAd.podspec
發(fā)布時會驗證 Pod 的有效性顾犹,如果你在手動驗證 Pod 時使用了 --use-libraries 或 --allow-warnings 等修飾符倒庵,那么發(fā)布的時候也應(yīng)該使用相同的字段修飾,否則出現(xiàn)相同的報錯蹦渣。
> pod trunk push YKLaunchAd.podspec --use-libraries --allow-warnings
發(fā)布成功后哄芜,就可以使用 pod search 搜索到你的 Pod 了!
### 7. 版本升級
當(dāng)需要更新 Pod 版本的時候柬唯,修改 .podspec 中的 s.version 為更高的版本號认臊,并修改 s.source 中對應(yīng)的 Git 版本。提交到Git锄奢,并打上對應(yīng)tag失晴。然后再次執(zhí)行pod trunk push YKLaunchAd.podspec將新的 .podspec 發(fā)布到 CocoaPods剧腻。
為了更新更加方便,版本控制更加清晰涂屁,s.source 建議采用如下寫法:
> s.source = { :git => "https://github.com/jinstar520/YKLaunchAd.git", :tag => s.version }