一、概述
CocoaPods應該是iOS最常用最有名的類庫管理工具了,通過CocoaPods,只需要一行命令就可以完全解決,當然前提是你必須正確設置它。重要的是,絕大部分有名的開源類庫,都支持CocoaPods。所以,掌握CocoaPods的使用是必不可少的基本技能了。OK,話不多說。上干貨!
二、準備工作
1.一臺已經安裝了CocoaPods的電腦,而且版本至少是0.33版本。打開終端輸入
$ pod --version
查看當前pod版本。如果尚未安裝或者版本過低的童鞋,請自行升級或安裝!安裝更新參考文檔。
2.如果不會使用終端命令將代碼放到Git上的童鞋,請自行下載Git客戶端sourceTree中文版!(當然如何將代碼上傳到git,客官先別急,請往下看)!
3.Sublime Text文本編輯器,我們要使用它編輯.podspec文件!
三、準備工作結束,開始分步操作!
1.將代碼上傳至Github
(1).在Git上創建項目!(****本次演示Demo只為教學效果,這個demo在演示之前就已經上傳了Git,但是沒有上傳CocoaPods,所以,會有提示!***)!創建項目時需要注意,項目名稱(唯一),README,Gitignore,license(如無特殊,選擇MITLicense)!如下圖!97BA195F-91CD-436F-A64D-FA7751C29BB7.png
(2).將在Git上創建的庫,通過sourceTree克隆到本地!打開sourceTree,選擇右邊設置按鈕!打開后選擇底部添加按鈕來添加你的Git賬號!5C2C23C0-6F11-49DB-B19D-A875FFEC0F96.png協議的話如果不會弄SSH,那就選擇HTTPS吧。鏈接成功后,在sourceTree客戶端中選擇遠端。這樣就會看見你在git上所有的庫!然后克隆到本地!簡單吧!F771A0A3-E38D-440B-A02C-971B79A0DD63.png
(3)將你的源碼放到git庫所在本地的文件夾內(下圖演示的文件夾結構)
操作之后你的sourceTree就會有你的文件改動信息(如果沒有變動信息,那就去Git的本地庫中找到1A14C27D-6FBE-454D-B06F-05ED6CC29633.png.git
文件,這是隱藏文件,如何顯示隱藏文件。輸入隱藏命令之后,千萬要記得重啟find哦。重啟之后,再次打開文件夾就會發現.git
文件,把他刪除掉就ok了。
然后雙擊打開選擇提交然后推送8D6FD9E5-F8EF-4063-BEE7-9E3BFC90A326.png就上去嘍!3619693D-F9B5-4CB5-9B47-EC2FA14F7651.png
2.創建并編輯.podSpec文件
(1).創建打
.podSpec文件
。開終端,切換路徑。然后輸入pod spec create xxxxxxx
,例如我要輸入pod spec create ZXCCalender
然后你會發現你的文件夾呢出現一個4DCC0BB4-4AC0-438E-AC24-E66AA0BFEE31.pngxxxxxx.podSpec
文件。
(2).編輯
.podSpec
文件。使用Sublime Text
打開.podSpec
文件。里面有很多的配置文件,文件講解如下。
s.name:名稱,pod search 搜索的關鍵詞,注意這里一定要和.podspec的名稱一樣,否則報錯
s.version:版本號 注意這里的版本號不能高于你項目在Git的版本號(那如何在Git上打版本,客觀別急,請往下看!)
s.summary: 總結、概要
s.description :描述
s.author:作者
s.ios.deployment_target: 支持的pod最低版本
s.source:項目的地址
s.resources: 資源文件
s.source_files:需要包含的源文件
s.requires_arc: 是否支持ARC
s.framework:依賴庫
建議直接將下面的代碼復制
到文件中后對應修改。
@version = "1.0.0"
Pod::Spec.new do |s|
s.name = "ZXCCalender"
s.version = @version
s.summary = "日歷農歷法定節假日"
s.description = "快速集成日歷,新手練習,簡單日歷"
s.homepage = "https://github.com/xicaiZhou/ZXCCalender"
s.license = { :type => "MIT", :file => "LICENSE" }
s.author = { "ZXC" => "zhouxicaijob@163.com" }
s.ios.deployment_target = "8.0"
s.source = { :git => "https://github.com/xicaiZhou/ZXCCalender.git", :tag => "v#{s.version}" }
s.resources = "ZXCCalender/*.{png}"
s.source_files = "ZXCCalender/*.{h,m}"
s.requires_arc = true
s.framework = "UIKit"
end
文件寫好后,我們用soureTree將源碼再次提交至Git!然后我再在Github上對項目打版本tag。2492408E-E6C9-4671-A23E-B35CB014BCCF.pngF4B3862C-76CC-40E3-A4D2-E485CD0604D6.png
E0B7304D-AEE6-4875-923D-679C0223F420.png265D2E21-619A-4B99-8F04-B312B35703FE.png
(3).驗證
.podSpec
文件。在終端輸入pod spec lint
進行驗證。從此進入坑的世界。
驗證成功后如下圖。( 由于各種問題,最終打了4次tag成功)573A1E02-1768-49A8-ADC6-80FDA67C8AFF.png
如果出錯:我們可以再錯誤信息中找到原因。對應的進行修改,修改成功后,一定要重新打版本一定要重新打版本一定要重新打版本,然后修改.podSpec
文件的版本。然后通過sourceTree使本地倉庫和遠端Git一致,也就是說,如果在本地修改的版本和tag,要提交并推到遠端倉庫。或者說在遠端倉庫修改的版本和tag,要在本地抓取最新版。
3.注冊CocoaPods Trunk
在注冊之前,在強調一遍要確保你的CocoaPods的版本在0.33之上。使用
pod --version
查看本地版本。如果過低使用sudo gen install cocoapods
進行更新。在更新中出現問題,請在第二模塊準備工作中的第一部分尋找答案!
如果有人注冊過CocoaPods Trunk,在終端輸入
pod trunk me
正確顯示如下48DFF68B-F035-488F-9B6B-79945E40E315.png
如果沒有注冊的童鞋,請輸入
pod trunk register zhouxicaijob@163.com 'xicaizhou' --verbose
,其中郵箱要使用有效的而且在使用的郵箱,這里建議使用GitHub注冊的郵箱, '這里輸入用戶名(建議使用GitHub名)', --verbose加上這個是為了打印你注冊詳細信息,當你注冊失敗時,可以找到bug。
注冊成功后,你輸入的郵箱號的郵箱有收到一封郵件。如果沒有收到郵件,請查看垃圾信箱。
4.使用Trunk上傳.podSpec
文件。
在這個路徑下輸入image.pngpod trunk push ZXCCalender.podSpec
(驗證加上傳可能需要大約3分鐘)成功后如下,
這就上傳成功啦!image.png
5.最后一步了!(驗證是否能搜到)
輸入
pod search ZXCCalender
如果出現這種情況不要慌,輸入image.pngrm ~/Library/Caches/CocoaPods/search_index.json
然后再次輸入image.pngpod search ZXCCalender
,如果還是出現上述情況,還是不用慌。操作這么久你也累了吧!先放松兩個小時,等你回來就會搜到了!因為CocoaPods可能在審核你的代碼哦!你也可以去CocoaPods搜索哦!
image.png
過了段時間就可以搜到了哦
image.png
四、結束語
本次解析到此結束了哦,小編可能遇到的錯誤不是很多,如果你是按照我的步驟操作出現問題請聯系我哦,我將幫你解決問題共同進步,并且會將你的問題更新到博客中。為后來人把坑填平!我的郵箱是zhouxicaijob@163.com。喜歡的請關注哦!
五、總結
代碼在于折騰!