利用pod trunk發布程式,讓你的項目可以被pod search,podtrunk
利用pod trunk發布程式
原先有說過CocoaPods的整合使用方法,對於pods整合以及管理三方架構確實有很多便捷之處,在這裡好處就不多說了。好處很多那是不是也想讓自己的項目讓別人pod的衝動了。多餘的話不用多講,直接上主題了。
1.註冊
$:pod trunk register 郵箱 '使用者名稱' --description='電腦描述'
2.查收郵件
- 其他郵箱直接進入點選連結
- 如果是QQ郵箱,可能會被放到“垃圾箱”中,並不一定是“收件匣”
- 點擊郵件中的連結:
https://trunk.cocoapods.org/sessions/verify/xxxx
- 點擊郵件的連結就完成了trunk註冊流程。
3.完成註冊後便可以查看個人資訊
結果顯示為:
- 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" => "xxxxx@example.com" } 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 = trueend
- 需要提醒的是,現在的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