圖文解析--(trunk方式)手把手叫你如何把代碼上傳至CocoaPods

一、概述

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,選擇右邊設置按鈕!
5C2C23C0-6F11-49DB-B19D-A875FFEC0F96.png

打開后選擇底部添加按鈕來添加你的Git賬號!
F771A0A3-E38D-440B-A02C-971B79A0DD63.png
協議的話如果不會弄SSH,那就選擇HTTPS吧。鏈接成功后,在sourceTree客戶端中選擇遠端。這樣就會看見你在git上所有的庫!然后克隆到本地!簡單吧!

(3)將你的源碼放到git庫所在本地的文件夾內(下圖演示的文件夾結構)

1A14C27D-6FBE-454D-B06F-05ED6CC29633.png
操作之后你的sourceTree就會有你的文件改動信息(如果沒有變動信息,那就去Git的本地庫中找到.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.png
然后你會發現你的文件夾呢出現一個xxxxxx.podSpec文件。

(2).編輯.podSpec文件。使用Sublime Text打開.podSpec文件。里面有很多的配置文件,文件講解如下。

s.name:名稱,pod search 搜索的關鍵詞,注意這里一定要和.podspec的名稱一樣,否則報錯
s.version:版本號 注意這里的版本號不能高于你項目在Git的版本號(那如何在Git上打版本,客觀別急,請往下看!)
s.summary: 總結、概要
s.description :描述

s.homepage:項目主頁地址(url)
image.png
s.license:許可證
s.author:作者
s.ios.deployment_target: 支持的pod最低版本
s.source:項目的地址
image.png

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.png
F4B3862C-76CC-40E3-A4D2-E485CD0604D6.png

E0B7304D-AEE6-4875-923D-679C0223F420.png
265D2E21-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.png
在這個路徑下輸入pod trunk push ZXCCalender.podSpec(驗證加上傳可能需要大約3分鐘)成功后如下,
image.png
這就上傳成功啦!

5.最后一步了!(驗證是否能搜到)

輸入pod search ZXCCalender

image.png
如果出現這種情況不要慌,輸入rm ~/Library/Caches/CocoaPods/search_index.json
image.png
然后再次輸入pod search ZXCCalender,如果還是出現上述情況,還是不用慌。操作這么久你也累了吧!先放松兩個小時,等你回來就會搜到了!因為CocoaPods可能在審核你的代碼哦!你也可以去CocoaPods搜索哦!
image.png

過了段時間就可以搜到了哦
image.png

四、結束語

本次解析到此結束了哦,小編可能遇到的錯誤不是很多,如果你是按照我的步驟操作出現問題請聯系我哦,我將幫你解決問題共同進步,并且會將你的問題更新到博客中。為后來人把坑填平!我的郵箱是zhouxicaijob@163.com。喜歡的請關注哦!

五、總結

代碼在于折騰!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,501評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,673評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,610評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,939評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,668評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,004評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,001評論 3 449
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,173評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,705評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,426評論 3 359
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,656評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,139評論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,833評論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,247評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,580評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,371評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,621評論 2 380