創(chuàng)建cocoaPods倉庫

我們平時(shí)會(huì)開源一些庫到github上,供自己和大家使用,為了使用更方便墓造,大家可以把比較常用的或者比較不錯(cuò)的庫支持下pod,下面以一個(gè)例子來說一下制作過程锚烦。

創(chuàng)建遠(yuǎn)程項(xiàng)目

在github上創(chuàng)建一個(gè)新倉庫

image.png

創(chuàng)建完成后:
1.cd到本地的某一個(gè)目錄觅闽,將遠(yuǎn)程項(xiàng)目clone下來;
2.cd到項(xiàng)目目錄下創(chuàng)建工程涮俄;

生成.podspec文件

在項(xiàng)目目錄下執(zhí)行下面代碼
pod spec create SSLFoundation
這時(shí)候本地會(huì)生成一個(gè)SSLFoundation.podspec文件蛉拙。
打開.podspec文件,以#開頭的是注釋彻亲,為了觀看方便我把注釋都刪掉了孕锄,編輯文件:

Pod::Spec.new do |s|   
  s.name         = "SSLFoundation"
  s.version      = "0.0.1"
  s.summary      = "iOS 基礎(chǔ)庫"

  s.description  = <<-DESC
                   iOS 基礎(chǔ)庫,持續(xù)更新
                   DESC

  s.homepage     = "https://github.com/GitHubLcy/SSLFoundation.git"

  s.license      = "MIT"

  s.author             = { "SpringSunLcy" => "13391550973@163.com" }

  s.platform     = :ios, "8.0"
  s.ios.deployment_target = "8.0"

  s.source       = { :git => "https://github.com/GitHubLcy/SSLFoundation.git", :tag => "#{s.version}" }

  s.source_files  = "Classes/SSLFoundationHeader.h"

  s.subspec 'UI' do |ss|
    ss.source_files = 'Classes/UI/*.{h,m}'
  end

  s.subspec 'Category' do |ss|
    ss.source_files = 'Classes/Category/*.{h,m}'
  end

  s.frameworks = "Foundation","UIKit"

end

字段說明:

  • s.name 創(chuàng)建的pod私有庫的名稱
  • s.version 版本
  • s.summary 庫的簡(jiǎn)單描述
  • s.description 庫的詳細(xì)描述
  • s.homepage 庫的地址 填寫私有庫在GitHub上的地址即可
  • s.license 專利聲明,一般填寫MIT 即可
  • s.author 作者信息 填寫方式 { "SpringSunLcy" => "13391550973@163.com" } 前面名稱后面郵箱 這個(gè)用戶名郵箱最好是你注冊(cè)trunk cocoapods 過的苞尝。
  • s.platform 支持的平臺(tái)和版本
  • s.source 源碼地址
  • s.source_files 一級(jí)文件路徑畸肆,這里很容易出問題,路徑一定要寫對(duì)宙址,這里的路徑是指從.podspec同級(jí)目錄開始算的
  • s.subspec 二級(jí)文件路徑轴脐,可以對(duì)照下面的實(shí)體目錄:
image.png
  • s.frameworks 依賴的系統(tǒng)frameworks

本地驗(yàn)證

pod lib lint SSLFoundation.podspec --verbose --use-libraries --allow-warnings

驗(yàn)證的時(shí)候可能會(huì)出現(xiàn)一些問題,不過別慌,錯(cuò)誤都會(huì)有提示的豁辉,像下面這樣令野,這個(gè)的錯(cuò)誤的原因就是description是空的,按照提示修改就好徽级。

lcy:SSLFoundation lcy$ pod lib lint SSLFoundation.podspec

 -> SSLFoundation (0.0.1)
    - ERROR | description: The description is empty.
    - ERROR | [iOS] unknown: Encountered an unknown error (The `SSLFoundation` pod failed to validate due to 1 error:
    - ERROR | description: The description is empty.

) during validation.

[!] SSLFoundation did not pass validation, due to 2 errors.
You can use the `--no-clean` option to inspect any issue.

驗(yàn)證通過以后有下面這樣的提示:

lcy:SSLFoundation lcy$ pod lib lint SSLFoundation.podspec

 -> SSLFoundation (0.0.1)

SSLFoundation passed validation.

提交代碼

git add . && git commit -m "version 0.0.1"
 
git tag '1.0.0'    //和上面.podspec一致
 
git push --tags
 
git push origin master

這里的tag一定不要忘記打气破,不然就會(huì)報(bào)錯(cuò)。

遠(yuǎn)程驗(yàn)證

pod spec lint SSLFoundation.podspec --verbose --use-libraries --allow-warnings

push本地的podspec文件到cocoaPods主分支上

pod trunk register *****@xx.com "SpringSunLcy"
pod trunk push SSLFoundation.podspec  --use-libraries --allow-warnings

如果trunk注冊(cè)過了可以跳過注冊(cè)直接推餐抢。
推送成功提示:

--------------------------------------------------------------------------------
 ??  Congrats

 ??  SSLFoundation (0.0.1) successfully published
 ??  May 30th, 02:03
 ??  https://cocoapods.org/pods/SSLFoundation
 ??  Tell your friends!
--------------------------------------------------------------------------------

成功后就可以pod下來了现使,每次修改都要升版本,改一次升一次版本旷痕。

常見問題

1. [!] Unable to find a pod with name, author, summary, or description matching 'SSLFoundation '
podspec已經(jīng)推送到遠(yuǎn)程碳锈,但是使用pod search命令不能搜到上傳的庫可以使用 rm ~/Library/Caches/CocoaPods/search_index.json刪除索引,然后再使用pod search欺抗,等一會(huì)兒就能出現(xiàn)了售碳。

項(xiàng)目地址:https://github.com/GitHubLcy/SSLFoundation.git
參考文章:
http://www.reibang.com/p/7672943d8808
http://www.reibang.com/p/408ac99e5e51

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市绞呈,隨后出現(xiàn)的幾起案子贸人,更是在濱河造成了極大的恐慌,老刑警劉巖佃声,帶你破解...
    沈念sama閱讀 222,590評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件艺智,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡圾亏,警方通過查閱死者的電腦和手機(jī)十拣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來志鹃,“玉大人夭问,你說我怎么就攤上這事〔芰澹” “怎么了甲喝?”我有些...
    開封第一講書人閱讀 169,301評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)铛只。 經(jīng)常有香客問我,道長(zhǎng)糠溜,這世上最難降的妖魔是什么淳玩? 我笑而不...
    開封第一講書人閱讀 60,078評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮非竿,結(jié)果婚禮上蜕着,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好承匣,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,082評(píng)論 6 398
  • 文/花漫 我一把揭開白布蓖乘。 她就那樣靜靜地躺著,像睡著了一般韧骗。 火紅的嫁衣襯著肌膚如雪嘉抒。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,682評(píng)論 1 312
  • 那天袍暴,我揣著相機(jī)與錄音些侍,去河邊找鬼。 笑死政模,一個(gè)胖子當(dāng)著我的面吹牛岗宣,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播淋样,決...
    沈念sama閱讀 41,155評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼耗式,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了趁猴?” 一聲冷哼從身側(cè)響起刊咳,我...
    開封第一講書人閱讀 40,098評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎躲叼,沒想到半個(gè)月后芦缰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,638評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡枫慷,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,701評(píng)論 3 342
  • 正文 我和宋清朗相戀三年让蕾,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片或听。...
    茶點(diǎn)故事閱讀 40,852評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡探孝,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出誉裆,到底是詐尸還是另有隱情顿颅,我是刑警寧澤,帶...
    沈念sama閱讀 36,520評(píng)論 5 351
  • 正文 年R本政府宣布足丢,位于F島的核電站粱腻,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏斩跌。R本人自食惡果不足惜绍些,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,181評(píng)論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望耀鸦。 院中可真熱鬧柬批,春花似錦啸澡、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至上沐,卻和暖如春皮服,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背奄容。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評(píng)論 1 274
  • 我被黑心中介騙來泰國打工冰更, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人昂勒。 一個(gè)月前我還...
    沈念sama閱讀 49,279評(píng)論 3 379
  • 正文 我出身青樓蜀细,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親戈盈。 傳聞我的和親對(duì)象是個(gè)殘疾皇子奠衔,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,851評(píng)論 2 361

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