目錄
Cocoapods之安裝及使用
CocoaPods之公有倉(cāng)庫(kù)的創(chuàng)建
一统舀、創(chuàng)建GitHub倉(cāng)庫(kù)
二觅够、注冊(cè)CocoaPods賬號(hào)
三态蒂、創(chuàng)建 .podspec文件
四堰汉、 配置編輯.podspec文件
五辽社、提交框架庫(kù)索引到CocoaPods
一、注冊(cè)GIthub賬號(hào)翘鸭,提交代碼到GitHub倉(cāng)庫(kù)滴铅,就以我封裝的原生二維碼掃描工具類WSLNativeScanTool為例,文件目錄如下圖就乓,讓它支持CocoaPods:
二汉匙、注冊(cè)CocoaPods賬號(hào):
- 用終端命令行注冊(cè)CocoaPods賬號(hào),有賬號(hào)的話也跳不過(guò)這一步??生蚁,因?yàn)樗馁~號(hào)沒(méi)有類似登陸的機(jī)制噩翠,所以在你切換設(shè)備后,需要再次使用如下的注冊(cè)命令進(jìn)行“登陸”操作邦投;如果還沒(méi)安裝CocoaPods伤锚,先看一下我的另一篇文章Cocoapods的安裝及使用。
//注冊(cè)cocoapods維護(hù)者信息志衣,郵箱123456@163.com 和 用戶名WSL屯援,注冊(cè)之后郵箱會(huì)收到一封確認(rèn)郵件,打開(kāi)郵件點(diǎn)擊確認(rèn)鏈接念脯,完成注冊(cè)狞洋。
pod trunk register 123456@163.com 'WSL' 或
pod trunk register 123456@163.com 'WSL' --description='設(shè)備信息'
//查看自己的注冊(cè)信息
pod trunk me
//如果多人維護(hù)pod 可以添加其他維護(hù)者
pod trunk add-owner name 789@163.com
三、創(chuàng)建 .podspec文件
關(guān)于Podsepc文件:在所有支持Cocoapods導(dǎo)入的庫(kù)的開(kāi)源目錄(如Github)下和二,我們都能看到一個(gè)*.podspec文件徘铝。當(dāng)然我們不管是做公有庫(kù)或者是私有庫(kù)都是必須配置這個(gè)文件的耳胎。這個(gè)文件是告訴Cocoapods你這個(gè)庫(kù)的一些基本信息惯吕,包括你的版本號(hào)惕它、獲取的地址、那些文件是希望被包含進(jìn)來(lái)的等一些信息废登。
這個(gè)文件是在你新建或者需要新提交一個(gè)版本的時(shí)候回進(jìn)行改動(dòng)的文件淹魄。
.podspec要放在clone到本地的git倉(cāng)庫(kù)的根目錄下面,并提交到Github的堡距。
第一種方式:適用于那些已經(jīng)創(chuàng)建好項(xiàng)目的情況甲锡,只需要在你的管理目錄下生成一個(gè)podspec文件。
- cd 到管理目錄下, 在管理目錄下運(yùn)行如下命令羽戒,創(chuàng)建生成WSLNativeScanTool.podspec文件 缤沦, WSLNativeScanTool為工程名,
pod spec create WSLNativeScanTool //創(chuàng)建生成WSLNativeScanTool.podspec文件
第二種方式:適用于連項(xiàng)目都沒(méi)有創(chuàng)建的情況,Cocoapods還提供了如下命令:
pod lib create WSLSDK //WSLSDK項(xiàng)目名稱
通過(guò)這條命令會(huì)創(chuàng)建好一個(gè)項(xiàng)目,在執(zhí)行這個(gè)項(xiàng)目的過(guò)程中易稠,根據(jù)命令行的引導(dǎo),你會(huì)創(chuàng)建好一個(gè)
Cocoapdos
定義好的一個(gè)項(xiàng)目模板缸废。如果對(duì)于剛開(kāi)始創(chuàng)建項(xiàng)目的小伙伴們來(lái)說(shuō),或許這個(gè)是一個(gè)不錯(cuò)的選擇驶社。通過(guò)這個(gè)命令Cocoapods
會(huì)給你創(chuàng)建好,Podspec
文件企量,travis文件,MIT Lisence文件以及README.md
文件等。這些項(xiàng)目文件也是要提交到Github上的亡电。
四届巩、 配置編輯.podspec文件
這里介紹兩種編輯.podspec文件的方式:
- 第一種方式:終端命令行
vim WSLNativeScanTool.podspec
首先cd 到WSLNativeScanTool.podspec 所在目錄下,執(zhí)行vim WSLNativeScanTool.podspec 編輯命令份乒,然后點(diǎn)擊鍵盤(pán)上的" i "進(jìn)入編輯模式恕汇,編輯完畢之后首先點(diǎn)擊"esc",然后按Esc或辖,并且輸入“ : ”號(hào)進(jìn)入vim命令模式拇勃,然后輸入wq,回車后編輯結(jié)束孝凌。
- 第二種方式:文本編輯工具
直接用文本編輯工具打開(kāi)WSLNativeScanTool.podspec進(jìn)行編輯
- 編輯內(nèi)容之前方咆,你需要在Github上創(chuàng)建release版本的代碼:
點(diǎn)進(jìn)去之后步驟很簡(jiǎn)單,填上版本號(hào)蟀架,標(biāo)題和簡(jiǎn)單的描述即可瓣赂,需要注意的是版本號(hào)需要與你的podspec文件中的s.version 相同。
編輯的內(nèi)容片拍,配置參數(shù)信息如下:
Pod::Spec.new do |spec|
spec.name = "WSLNativeScanTool"
spec.version = "1.0"
spec.summary = "iOS 封裝原生二維碼掃描和生成."
spec.homepage = "https://github.com/wsl2ls/ScanQRcode"
spec.license = { :type => "MIT", :file => 'README.md' }
spec.author = { "PlutoY" => "15324956576@163.com" }
spec.platform = :ios, "8.0"
spec.source = { :git => "https://github.com/wsl2ls/ScanQRcode.git", :tag => "v#{spec.version}" }
spec.frameworks = 'UIKit'
spec.source_files = "WSLNativeScanTool", "WSLNativeScanTool/**/*.{h,m}"
spec.requires_arc = true
end
//參數(shù)意義依次是 :Cocoapods上的名字煌集、版本號(hào),簡(jiǎn)介捌省、主頁(yè)苫纤、License、作者信息、最低平臺(tái)信息卷拘、從哪個(gè)Git上下載喊废、需要引入的framework、那些文件需要被引入栗弟,那些文件是資源文件以及是否需要ARC的模式污筷。
s.name pods名稱
s.version 版本號(hào) 此版本號(hào)需要與github中tag的內(nèi)容一致
s.summary 簡(jiǎn)短說(shuō)明
s.homepage github工程的鏈接地址
s.source github工程的地址追加.git
“ * ” 表示匹配所有文件
“ * .{h,m}” 表示匹配所有以.h和.m結(jié)尾的文件
“**” 表示匹配所有子目錄
查看完整參數(shù) http://guides.cocoapods.org/syntax/podspec.html
- 編輯配置完成后,不要著急乍赫,我們先驗(yàn)證自己的GOVAVPlayer.podspec文件格式的有效性瓣蛀,如果這里不通過(guò),就沒(méi)必要上傳了雷厂。
//在上傳CocoaPods之前惋增,驗(yàn)證WSLNativeScanTool.podspec文件格式的有效性, --allow-warnings 為忽略警告的意思
pod spec lint --allow-warnings //本地和遠(yuǎn)程庫(kù)同時(shí)檢索)
或
pod lib lint WSLNativeScanTool.podspec --allow-warnings //檢索本地索引文件
五、提交框架庫(kù)索引到CocoaPods
驗(yàn)證WSLNativeScanTool.podspec文件格式的有效性成功時(shí)改鲫,執(zhí)行如下命令上傳代碼到CocoaPods:
//上傳代碼到CocoaPods 需要等待一段時(shí)間
pod trunk push WSLNativeScanTool.podspec --allow-warnings
這里 "--allow-warnings"器腋,也是忽略警告的意思,如果不加該關(guān)鍵字的話钩杰,如果在執(zhí)行"pod spec lint"時(shí)候報(bào)出了警告纫塌,那么在這里上傳代碼到CocoaPods時(shí)就會(huì)報(bào)錯(cuò)。
說(shuō)明發(fā)布成功讲弄,你就可以通過(guò)上面的URL: https://cocoapods.org/pods/WSLNativeScanTool 進(jìn)入的Pods查看自己的倉(cāng)庫(kù)信息了. 也可以執(zhí)行 $ pod search WSLNativeScanTool 命令查詢庫(kù)信息措左。
注意:發(fā)布到Cocoapods后,需要在終端更新本地pods倉(cāng)庫(kù)信息:$ pod setup
參考文獻(xiàn):
http://blog.csdn.net/youtk21ai/article/details/50750300
http://qiubaiying.top/2017/03/08/CocoaPods公有倉(cāng)庫(kù)的創(chuàng)建/
https://blog.csdn.net/zhaojinqiang12/article/details/80211057#t0
https://blog.csdn.net/sdefzhpk/article/details/69389584