利用pod trunk發佈程式 原先有說過CocoaPods的集成使用方法,對於pods集成以及管理三方框架確實有很多便捷之處,在這裡好處就不多說了。好處很多那是不是也想讓自己的項目讓別人pod的衝動了。多餘的話不用多講,直接上主題了。 1.註冊 $:pod trunk register 郵箱 '用 ...
利用pod trunk發佈程式
原先有說過CocoaPods的集成使用方法,對於pods集成以及管理三方框架確實有很多便捷之處,在這裡好處就不多說了。好處很多那是不是也想讓自己的項目讓別人pod的衝動了。多餘的話不用多講,直接上主題了。
1.註冊
$:pod trunk register 郵箱 '用戶名' --description='電腦描述'
2.查收郵件
- 其他郵箱直接進入點擊鏈接
- 如果是QQ郵箱,可能會被放到“垃圾箱”中,並不一定是“收件箱”
- 點擊郵件中的鏈接:
https://trunk.cocoapods.org/sessions/verify/xxxx - 點擊郵件的鏈接就完成了trunk註冊流程。
3.完成註冊後便可以查看個人信息
$:pod trunk me
結果顯示為:
- Name: 你剛剛輸入的用戶名
- Email: xxxxxx@example.com
- Since: March 28th, 03:28
- Pods: None
- Sessions:
- March 28th, 03:28 - June 5th, 03:08. IP: xxx.xxx.xxx.xxx Description: Macbook Pro
- 中間可能遇到這種錯誤
NoMethodError - undefined method 'last' for #<Netrc::Entry:0x007fc59c246378>
- 這時候需要嘗試更新gem源或者pod
$:sudo gem update --system
$:sudo gem install cocoapods
$:sudo gem install cocospods-trunk
4.創建podspec文件
- 為你的項目代碼添加podspec描述文件描述你的項目信息
- 將podspec文件通過trunk推送給CocoaPods伺服器
- 註意:以下描述的文件都要放在clone到本地的git倉庫的根目錄下麵。
4.1 如何創建podspec文件
創建自己的podspec文件可以有兩個途徑:
①copy成熟的開源庫的podspec文件修改對應的參數這種方式。
②執行以下創建命令:
* $:pod spec cretae 文件名
比如pod spec cretae DJStatusBarHUD就會生成一個DJStatusBarHUD.podspec
&建議直接拿一些成熟的開源庫的podspec改就行,生成的模板里有很多冗餘的屬性。
填寫podspec內容
$:Pod::Spec.new do |s|
s.name = "DJStatusBarHUD"
s.version = "0.0.1"
s.summary = "The easily and conveniently use of statusBar"
s.homepage = "https://github.com/djliu328/DJStatusBarHUD"
s.license = "MIT"
s.author = { "dj_liu" => "[email protected]" }
s.source = {:git => 'https://github.com/djliu328/DJStatusBarHUD.git', :tag => s.version}
s.source_files = 'DJStatusBarHUD/**/*.{h,m}'
s.resource = 'DJStatusBarHUD/DJStatusBarHUD.bundle'
s.requires_arc = true
end
- 需要提醒的是,現在的podspec必須有tag,所以最好先打個tag,傳到github
$:git tag 0.0.1
$:git push --tags
&只有確保了以上兩點,CocoaPods才能更準確地找到你的repo。
5.檢測podspec語法(驗證你的podspec文件是否合法用下麵指令)
$:pod spec lint MJExtension.podspec
6.發佈podspec
終於可以到下麵的一步了,那就是發佈通過trunk上傳你的podspec文件。先cd到podspec文件所在目錄,然後:
* $:pod trunk push MJExtension.podspec
* 如果是第一次發佈pod,需要去https://trunk.cocoapods.org/claims/new認領pod(感覺也可以不用,當時也沒怎麼用到,自己選擇吧)
7.檢測
有些時候你發佈完成後pod search發現什麼也沒有,這並不一定表示你的項目沒有上傳成功,有可能會有延時。可以進行下麵的操作進行嘗試:
* $:pod setup
: 初始化
* $:pod repo update
: 更新倉庫
* $:pod search DJStatusBarHUD
8.倉庫更新
- 如果倉庫更新慢,可以考慮更換倉庫鏡像
$:pod repo remove master
$:pod repo add master http://git.oschina.net/akuandev/Specs.git