pod 私有庫(kù)

如何創(chuàng)建私有 CocoaPods 倉(cāng)庫(kù)

制作 CocoaPods 依賴庫(kù)

cocoapods本地的類庫(kù)更新方法

使用私有Cocoapods倉(cāng)庫(kù)的中高級(jí)用法

自定義podspec,資源問(wèn)題解決

1.podspec文件:

Pod::Spec.new do |s|
  s.name         = "HHO2View"
  s.version      = "0.1.2"
  s.summary      = "HHO2View."
  s.description  = "纖細(xì)描述稠鼻,哈哈哈哈"
  s.homepage     = "https://github.com/huanghuacaiCoder/HHO2View"
  s.license      = "MIT"
  s.author             = { "huanghuacai" => "285210549@qq.com" }
  s.platform     = :ios, '9.0'
  s.source       = { :git => "https://github.com/huanghuacaiCoder/HHO2View.git", :tag => "#{s.version}" }
  s.source_files  = "Classes/**/*.{h,m}"
  s.resource  = "Classes/HHImage.bundle"
  s.preserve_paths = "Classes/**/*.a"
  s.vendored_libraries = "Classes/**/*.a"
  s.requires_arc = true
  s.dependency 'AFNetworking', '~> 2.3'
  s.dependency 'CocoaAsyncSocket', '~>7.5.0'
  s.subspec 'Category' do |cs|
      cs.source_files = 'Classes/Category/**/*.{h,m}'
  end
end

2.podspec文件介紹

* name      類庫(kù)的名稱
* version   指定版本
* license   開源協(xié)議
* description  簡(jiǎn)單描述
* homepage   個(gè)人主頁(yè)
* author 作者信息
* source  指定git地址
* platform 指定iOS版本
* requires_arc  指定支持arc
* vendored_frameworks 本地的frameworks
* frameworks 指定需要使用的系統(tǒng)frameworks
* preserve_paths 本地的.a庫(kù)
* vendored_libraries: 第三方.a文件
* source_files 指定類庫(kù)中的源碼
需要在source_files中指定要發(fā)布的源代碼文件,這個(gè)項(xiàng)目的源代碼都是在pod-library目錄下面穿撮,因此我指定了獲取pod-library目錄下的所有的.h和.m文件
如果你需要使用swift就需要指定目錄下面的.swift文件,如果有c++源代碼的還需要指定.mm文件。
* resources 指定的資源在調(diào)用類庫(kù)的項(xiàng)目中可以直接調(diào)用上真,和調(diào)用項(xiàng)目?jī)?nèi)的資源一樣。
* resource_bundles 把需要調(diào)用的資源編譯到bundle來(lái)調(diào)用羹膳,

3.podfile文件:

target 'Test1' do

source 'https://github.com/huanghuacaiCoder/HHSpecs.git'

source 'https://github.com/CocoaPods/Specs.git'  #官方倉(cāng)庫(kù)的地址

  use_frameworks!

  pod ‘HHO2View’ 

end

4.常用終端命令

生成公私鑰對(duì):ssh-keygen

查看第三方框架倉(cāng)庫(kù)源:pod repo

本地下載私有倉(cāng)庫(kù)索引:pod repo add REPO_NAME SOURCE_URL

pod spec create 描述文字名稱

pod init 生成一個(gè)podfile文件

在cocoapods注冊(cè)  pod trunk register 18811108252@163.com 'huanghuacai' --verbose

pod trunk push testLib.podspec

驗(yàn)證podspec也可手動(dòng)執(zhí)行命令pod spec lint XPRACSignal.podspec

更新pod到最新版本   sudo gem install cocoapods

git tag '0.0.1'
git push --tags
git push origin master

pod lib lint

pod repo push HHSpecs HHO2View.podspec

5.遇到的問(wèn)題:

1).當(dāng)前工程依賴的工程是私有庫(kù)睡互,pod lib lint于是會(huì)報(bào)錯(cuò):

 ERROR | [iOS] unknown: Encountered an unknown error (Unable to find a specification for `XXX (~> 0.1.0)` depended upon by `ZZZ`) during validation.

原因
校驗(yàn)podspec文件時(shí)會(huì)到遠(yuǎn)程podspec庫(kù)查找相關(guān)依賴,默認(rèn)只會(huì)到官方specs庫(kù)校驗(yàn)陵像,此時(shí)需要指定遠(yuǎn)程specs庫(kù)去校驗(yàn)就珠。

解決
指定pod spec文件校驗(yàn)地址

pod lib lint  --sources='私有索引庫(kù)路徑,https://github.com/CocoaPods/Specs.git'

2).依賴一個(gè)庫(kù),pod lib lint時(shí)報(bào)錯(cuò)

 - NOTE  | xcodebuild:  /var/folders/fr/dlrxq7_j6t1fgl072c_dwssm0000gn/T/CocoaPods/Lint/App/main.m:3:9: fatal error: could not build module 'ZOiOSTools'

解決辦法

pod lib lint xxx.podspec --use-libraries

注意:push的時(shí)候必須要也要加這個(gè)后綴醒颖,否則也會(huì)報(bào)該錯(cuò)誤

 pod repo push Specs ZOiOSTools.podspec --use-libraries

3).如果代碼代碼中有過(guò)期的API妻怎,那么pod lib lint時(shí)會(huì)報(bào)警告
解決辦法有兩種,第一種去解決警告泞歉,第二種

pod lib lint --allow-warnings

pod repo push Specs ZOiOSTools.podspec --use-libraries --allow-warnings

4).Returned an unsuccessful exit code. You can use --verbose for more information.

pod lib lint --verbose

5). fatal error: 'UIKit/UIKit.h' file not found 出現(xiàn)與這個(gè)類似的錯(cuò)誤是因?yàn)樵趐odspec文件中沒(méi)有加

 s.platform     = :ios   
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末逼侦,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子腰耙,更是在濱河造成了極大的恐慌榛丢,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件沟优,死亡現(xiàn)場(chǎng)離奇詭異涕滋,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)挠阁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)溯饵,“玉大人侵俗,你說(shuō)我怎么就攤上這事》峥” “怎么了隘谣?”我有些...
    開封第一講書人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)啄巧。 經(jīng)常有香客問(wèn)我寻歧,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮总处,結(jié)果婚禮上膛堤,老公的妹妹穿的比我還像新娘。我一直安慰自己抓韩,他們只是感情好长捧,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開白布亿鲜。 她就那樣靜靜地躺著痢站,像睡著了一般磷箕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上阵难,一...
    開封第一講書人閱讀 52,255評(píng)論 1 308
  • 那天岳枷,我揣著相機(jī)與錄音,去河邊找鬼呜叫。 笑死空繁,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的怀偷。 我是一名探鬼主播家厌,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼椎工!你這毒婦竟也來(lái)了饭于?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤维蒙,失蹤者是張志新(化名)和其女友劉穎掰吕,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體颅痊,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡殖熟,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了斑响。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片菱属。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖舰罚,靈堂內(nèi)的尸體忽然破棺而出纽门,到底是詐尸還是另有隱情,我是刑警寧澤营罢,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布赏陵,位于F島的核電站,受9級(jí)特大地震影響饲漾,放射性物質(zhì)發(fā)生泄漏蝙搔。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一考传、第九天 我趴在偏房一處隱蔽的房頂上張望吃型。 院中可真熱鬧,春花似錦伙菊、人聲如沸败玉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)运翼。三九已至返干,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間血淌,已是汗流浹背矩欠。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留悠夯,地道東北人癌淮。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像沦补,于是被迫代替她去往敵國(guó)和親乳蓄。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359

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