一步一步創(chuàng)建自己的CocoaPods庫(kù)(一)

記錄一下自己第一次創(chuàng)建CocoaPods庫(kù)的經(jīng)歷祖灰,以及遇到的一些問(wèn)題尿招,廢話不多诀豁,干貨滿滿

1. 創(chuàng)建工程

打開(kāi)終端窄刘,cd到你要?jiǎng)?chuàng)建文件的位置,如:Documents/work/pod

cd Documents/work/pod
pod lib create SYPodTest
pod創(chuàng)建過(guò)程.png

第一次創(chuàng)建會(huì)問(wèn)你幾個(gè)問(wèn)題

  • 第一個(gè)是問(wèn)你使用什么平臺(tái)開(kāi)發(fā) [iOS還是macOS]舷胜,根據(jù)需要選擇即可娩践,這里選擇iOS。
  • 第二個(gè)是問(wèn)你使用什么開(kāi)發(fā)語(yǔ)言 [Swift還是Objc]烹骨,這里選擇Objc翻伺。
  • 第三個(gè)問(wèn)是否創(chuàng)建一個(gè)demo應(yīng)用包含在工程里,根據(jù)需要沮焕,如果需要demo示例吨岭,選擇Yes,否則No峦树。
  • 第四個(gè)問(wèn)是否需要測(cè)試Framework辣辫,這里選擇None。
  • 第五個(gè)問(wèn)是否需要做界面調(diào)試魁巩,這里選擇No络它。
  • 最后一個(gè)問(wèn)工程文件的前綴,根據(jù)需要歪赢,我這里使用SY前綴化戳。

創(chuàng)建完成后會(huì)在pod文件夾生成一個(gè)項(xiàng)目,里面包含了Demo和配置文件:
image.png

2. 編輯配置文件

  • podspec文件埋凯,即Pod Specification(Pod描述文件)点楼,描述指定版本的pod庫(kù)信息,包括:pod庫(kù)源碼地址白对、文件列表掠廓、配置信息、描述信息等甩恼。具體可參考官方文檔
  • README項(xiàng)目描述文件蟀瞧,這個(gè)文件可以使用Markdown語(yǔ)法沉颂,主要展示在GitHub工程上的首頁(yè)。README文件對(duì)于使用這個(gè)pod庫(kù)的人來(lái)說(shuō)悦污,有和沒(méi)有這個(gè)文件铸屉,區(qū)別是很明顯的
  • LICENSE要想是Spec倉(cāng)庫(kù)接收,就必須包含一個(gè)license切端。pod lib create 自動(dòng)創(chuàng)建使用的是 MIT license彻坛。可以根據(jù)需要可以使用不同的License踏枣。

這里主要修改podspec文件

  • s.name 項(xiàng)目名稱昌屉,這里是SYPodTest
  • s.version版本號(hào),0.0.1茵瀑,1.0.0
  • s.summary對(duì)項(xiàng)目簡(jiǎn)單扼要的描述间驮,比如功能,作用等
  • s.description對(duì)項(xiàng)目詳細(xì)全面的介紹马昨,寫在<<-DESCDESC中間蜻牢,不用注意縮進(jìn)
  • s.homepage項(xiàng)目主頁(yè)地址
  • s.license License類型和名稱
  • s.author作者及聯(lián)系郵箱
  • s.source源碼地址
  • s.ios.deployment_target目標(biāo)版本號(hào)
  • s.source_files代碼路徑
  • s.resource_bundles資源文件如圖片等的路徑,如果有將注釋去掉
  • s.public_header_files公共頭文件路徑
  • s.frameworks依賴的Framework
  • s.dependency依賴的第三方庫(kù)偏陪,如AFNetworking等,如果有第三方依賴煮嫌,將注釋去掉
    image.png

3. 創(chuàng)建遠(yuǎn)程倉(cāng)庫(kù)

image.png

創(chuàng)建好后將本地代碼提交到遠(yuǎn)程倉(cāng)庫(kù)

git add .
git commit -m "Initial Commit"

添加遠(yuǎn)程倉(cāng)庫(kù)

git remote add origin https://github.com/xxx/SYPodTest.git
git push -u origin master

到這里報(bào)錯(cuò)了
image.png

按提示嘗試

git pull origin master

還是有問(wèn)題

image.png

報(bào)錯(cuò)原因是首次上傳代碼笛谦,本地分支和遠(yuǎn)程分支不一致,遠(yuǎn)程創(chuàng)建倉(cāng)庫(kù)的時(shí)候勾選了gitignore甚至可能還有License昌阿,導(dǎo)致不能合并饥脑,百度之,解決辦法是懦冰,參考這里

git pull --rebase origin master

繼續(xù)提交代碼

git push -u origin master

pod驗(yàn)證

pod lib lint SYPodTest.podspec

到這里又報(bào)錯(cuò)了

image.png

Google之灶轰,還是StackOverflow好用,還有這里刷钢。這里插一句吐槽笋颤,論精準(zhǔn)我只服Google,百度差評(píng)内地,搜半天伴澄,翻了好幾個(gè)才找到答案的
解決辦法是:Xcode > Preferences > Locations選擇Command Line Tools
image.png

繼續(xù)剛才的操作,終于成功了

pod lib lint SYPodTest.podspec
image.png

4. 提交Pod

1. 打Tag

git tag 0.1.0

提交到遠(yuǎn)程倉(cāng)庫(kù)

git push origin --tag

2. 驗(yàn)證

pod spec lint SYPodTest.podspec

 -> SYPodTest (0.1.0)

Analyzed 1 podspec.

SYPodTest.podspec passed validation.

3. 提交pod到Specs倉(cāng)庫(kù)

pod trunk push SYPodTest.podspec

這里又報(bào)錯(cuò)了

image.png

意思是你需要注冊(cè)一個(gè)session阱缓,參考這里

pod trunk register 電子郵箱 '您的姓名' --description='description'

繼續(xù)剛才報(bào)錯(cuò)的步驟非凌,成功了

pod trunk push SYPodTest.podspec
image.png

5. pod search 檢驗(yàn)是否可用

pod search SYPodTest

出現(xiàn)下面這個(gè)問(wèn)題:

[!] Unable to find a pod with name, author, summary, or description matching `SYPodTest`

這主要是因?yàn)樵诒镜厮饕锩鏇](méi)有, 解決辦法

  1. pod setup (不行,實(shí)用方法二)
  2. pod repo update(不行,試用方法三)
  3. 前往這個(gè)路徑下~/Library/Caches/CocoaPods刪除search_index.json文件 , 或者使用終端命令刪除:
rm ~/Library/Caches/CocoaPods/search_index.json

完成后,重新搜索
到這里荆针,自己的CocoaPods倉(cāng)庫(kù)終于創(chuàng)建完成敞嗡!

參考文章

http://www.reibang.com/p/41611b14942b

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末颁糟,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子喉悴,更是在濱河造成了極大的恐慌棱貌,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,427評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件粥惧,死亡現(xiàn)場(chǎng)離奇詭異键畴,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)突雪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門起惕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人咏删,你說(shuō)我怎么就攤上這事惹想。” “怎么了督函?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,747評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵嘀粱,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我辰狡,道長(zhǎng)锋叨,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,939評(píng)論 1 295
  • 正文 為了忘掉前任宛篇,我火速辦了婚禮娃磺,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘叫倍。我一直安慰自己偷卧,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布吆倦。 她就那樣靜靜地躺著听诸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蚕泽。 梳的紋絲不亂的頭發(fā)上晌梨,一...
    開(kāi)封第一講書(shū)人閱讀 51,737評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音须妻,去河邊找鬼派任。 笑死,一個(gè)胖子當(dāng)著我的面吹牛璧南,可吹牛的內(nèi)容都是我干的掌逛。 我是一名探鬼主播,決...
    沈念sama閱讀 40,448評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼司倚,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼豆混!你這毒婦竟也來(lái)了篓像?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,352評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤皿伺,失蹤者是張志新(化名)和其女友劉穎员辩,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體鸵鸥,經(jīng)...
    沈念sama閱讀 45,834評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡奠滑,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了妒穴。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宋税。...
    茶點(diǎn)故事閱讀 40,133評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖讼油,靈堂內(nèi)的尸體忽然破棺而出杰赛,到底是詐尸還是另有隱情,我是刑警寧澤矮台,帶...
    沈念sama閱讀 35,815評(píng)論 5 346
  • 正文 年R本政府宣布乏屯,位于F島的核電站,受9級(jí)特大地震影響瘦赫,放射性物質(zhì)發(fā)生泄漏辰晕。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評(píng)論 3 331
  • 文/蒙蒙 一确虱、第九天 我趴在偏房一處隱蔽的房頂上張望含友。 院中可真熱鬧,春花似錦蝉娜、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,022評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至胸遇,卻和暖如春荧呐,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背纸镊。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,147評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工倍阐, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人逗威。 一個(gè)月前我還...
    沈念sama閱讀 48,398評(píng)論 3 373
  • 正文 我出身青樓峰搪,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親凯旭。 傳聞我的和親對(duì)象是個(gè)殘疾皇子概耻,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容