使用CocoaPods trunk之前請確認(rèn)CocoaPods版本是否是0.33或以上萌京,打開Teaminal(終端)輸入pod --version即可查看,如果版本過低,請執(zhí)行sudo gem install cocoapods安裝最新版本喜滨!
1.注冊trunk
pod trunk register xxx@cocoapods.org 'Cuixx' --description='Cuixx' macbook pro' --verbose
xxx@cocoapods.org :一個有效真郵箱焚廊,不一定非得是@cocopods.org冶匹,例如QQ等。
Cuixx - 用戶名
Cuixx's macbook pro - 描述性文字
如果所有的步驟都能成功的話咆瘟,你會受到一份郵件嚼隘,需要點擊驗證下,如圖:
2.查看trunk
pod trunk me
可以查看你已經(jīng)注冊的信息,其中包含你的name袒餐、email飞蛹、since、Pods灸眼、sessions卧檐,其中Pods為你往CocoaPods提交的所有的Pod!
3.添加其他維護者(如果你的pod是由多人維護的焰宣,你也可以添加其他維護者)
pod trunk add-owner HBScrollPageView Cuixx@cocoapods.org
進入項目級步驟
創(chuàng)建podspec
pod spec create HBScrollPageView
執(zhí)行完該命令之后會在工程目錄生成HBScrollPageView.podspec文件霉囚,然后編輯這個文件!(注意最好用vim終端編輯宛徊,否則容易出現(xiàn)各種錯誤(大部分是中英文錯誤)佛嬉,最終導(dǎo)致文件驗證不過)
Pod::Spec.new do |s|
s.name = 'HBScrollPageView'
s.summary = 'HBScrollPageView with pageViewController.'
s.version = '0.0.1'
s.license = { :type => 'MIT', :file => 'LICENSE' }
s.authors = { 'MrCuihongbao' => '675282505@qq.com' }
s.social_media_url = 'https://mrcuihongbao.github.io'
s.homepage = 'https://github.com/MrCuiHongbao/HBScrollPageView'
s.platform = :ios, '7.0'
s.ios.deployment_target = '7.0'
s.source = { :git => 'https://github.com/MrCuiHongbao/HBScrollPageView.git', :tag => s.version }
s.requires_arc = true
s.source_files = 'HBScrollPageView/**/*.{h,m}'
s.public_header_files = 'HBScrollPageView/**/*.{h}'
s.frameworks = 'UIKit'
end
其中:
s.name:庫的名稱
s.summary:對我們庫的一個簡單的介紹
s.version:庫原代碼版本號
s.license:所采用的授權(quán)版本
s.authors:庫的作者
s.social_media_url:社交媒體網(wǎng)址
s.homepage:聲明庫的主頁
s.platform:庫所支持的軟件平臺和版本
s.ios.deployment_target = '7.0' 庫所支持的軟件目標(biāo)文件版本
s.source:聲明原代碼的地址
s.requires_arc :是否支持ARC
s.source_files:源碼文件
s.public_header_files:公共的頭文件
s.frameworks:所需的frameworks
s.libraries = "iconv", "xml2" :所需的lib
s.dependency "JSONKit", "~> 1.4":依賴的第三方開源
提交code到git倉庫中,并打上tag版本號
這一步可使用git命名行也可使用工具闸天,最重要的是tag暖呕,因為CocoaPods是根據(jù)tag來分析的!
終端命令為:
git tag 0.0.1
提交到CocoaPods trunk
終端命令
pod trunk push
即可完成提交苞氮,改命令會首先驗證你本地的podspec文件湾揽,之后會上傳spec文件到trunk,最后會將你上傳的podpec文件轉(zhuǎn)換為需要的json文件。
提示:
1.驗證podspec也可手動執(zhí)行命令pod spec lint HBScrollPageView.podspec
錯誤 一(語法錯誤都已解決最后出現(xiàn)如下錯誤)
- ERROR | [iOS] unknown: Encountered an unknown error (Pod::DSLError) during validation.
Analyzed 1 podspec.
[!] The spec did not pass validation, due to 1 error.
通過執(zhí)行 pod lib lint HBScrollPageView.podspec變?yōu)槿缦聢D所示(綠色部分即為lib通過驗證)
但是pod spec lint HBScrollPageView.podspec仍然不能通過驗證库物,仍然報錯如下:
- ERROR | [iOS] unknown: Encountered an unknown error ([!]
/usr/bin/git clone https://github.com/MrCuiHongbao/HBScrollPageView.git
/var/folders/pc/16n7gx091gjbk6css0bx_yh00000gn/T/d20170810-61232-2wjgvr --template= --single-branch --depth 1 -- branch 0.0.1
Cloning into '/var/folders/pc/16n7gx091gjbk6css0bx_yh00000gn/T/d20170810-61232-2wjgvr'...
warning: Could not find remote branch 0.0.1 to clone.
fatal: Remote branch 0.0.1 not found in upstream origin) during validation.
Analyzed 1 podspec.
[!] The spec did not pass validation, due to 1 error.
原因是遠(yuǎn)程倉庫中的tag release版本與本地提交的版本不一致導(dǎo)致霸旗,修改后如下驗證ok(綠色字體顯示ok)
錯誤二、如果遇到如下錯誤戚揭,解決辦法請參考這篇文章
Encountered an unknown error (Simulator iPhone 4s is not available.) during validation.
2.提交成功之后以前需要花些時間去驗證(猜測可能是跑build等)诱告,貌似現(xiàn)在稍等1分鐘就可以。
簡單的封裝歡迎使用
pod 'HBScrollPageView', '~> 0.0.1'
參考鏈接:http://www.reibang.com/p/0866dd4126b4
http://www.reibang.com/p/4e92a6154c80
http://www.cocoachina.com/ios/20160301/15459.html