【iOS工程優(yōu)化】遠程pod倉庫

思路:
1.下載一個模板項目
2.把這個模板項目上傳到git上
3.通過pod來獲取這個git上的項目

操作:

一.創(chuàng)建模板

1.有自己的git賬號和倉庫

2.已經安裝好pod

3.確定好組件的名稱(避免名字過于大眾)

4.打開終端,cd到桌面少欺,輸入下面的命令去創(chuàng)建模板
pod lib create 組件名字

5.會問你幾個問題,一些問題和答案如下

would you like to include a demo application with your library?

yes

Which testing frameworks will you use?

none

would you like to do view base testing?

no

what is your class prefix?

前綴名稱

其他問題看自己的需求

整個過程馋贤,終端會顯示這些


這里我的組件名字叫 TeSt
前綴是 TeSt

這時候會自動打開一個工程

8.打開工程所在的文件夾(標紅的是主要會用到的文件/文件夾)


二.把這個模板項目上傳到git上

由于本人是git苦手赞别,不大會用命令行,所以用的是界面化操作的sourceTree配乓。

1.在git上創(chuàng)建一個工程仿滔,工程名同組件名(我是直接在網頁上操作的惠毁,命令行真的是弄不來),至于是是不是公有隨意崎页。

2.clone到本地(這時候鞠绰,這個clone到本地的項目應該就是一個空文件夾)

3.把之前模板里面的東西都放到到這個clone的工程里面(就是紅框里面的東西),然后那個模板工程現(xiàn)在應該就是一個空文件夾了飒焦,可以刪掉了


4.把整個項目同步到git遠程服務器上蜈膨,現(xiàn)在服務器上這個工程里面的內容就是當初咱們下載的模板內容了。

5.更改podspec
在項目中能找到一個 podspec后綴的文件牺荠,用xcode打開它翁巍。然后直接把下面的粘貼上去

Pod::Spec.new do |s|
#插件名稱
 [s.name](http://s.name)             = ‘*******需要更改********'
 #插件版本號,也就是git中的tag
 s.version          = '0.1.0'
#插件簡述
s.summary          = '*******建議更改********'
#插件具體描述
 s.description      = <<-DESC
*******建議更改********
                       DESC
#插件首頁
s.homepage         = '*******需要更改********'
#插件截屏地址
# s.screenshots     = '[www.example.com/screenshots_1](http://www.example.com/screenshots_1)', '[www.example.com/screenshots_2](http://www.example.com/screenshots_2)'
#插件證書休雌,一般不用更改
s.license          = { :type => 'MIT', :file => 'LICENSE' }
#插件作者名/郵箱地址
s.author           = { 'mj230816' => ['songqian@readchina.com.cn]> (mailto:'songqian@readchina.com.cn)' }
#插件資源地址
s.source           = { :git => '*******需要更改********', :tag => s.version.to_s }
#插件iOS開發(fā)版本
s.ios.deployment_target = '8.0'
#插件文件地址
s.source_files = 'TeSt/Classes/**/*'
#插件資源地址
# s.resource_bundles = {
#   'TeSt' => ['TeSt/Assets/*.png']
# }
#插件公共頭文件地址
# s.public_header_files = 'Pod/Classes/**/*.h'
#插件依賴的framework
# s.frameworks = 'UIKit', 'MapKit'
#插件以來的其他三方庫
# s.dependency 'AFNetworking', '~> 2.3'
end

這里需要修改的有以下幾個:
1.s.homepage 更改為
s.homepage = '插件本身的git地址(http/https形式的)'
2.s.name 就是插件/工程名字
3.s.source 更改為:
s.source = { :git => ‘插件本身的git地址(http/https形式的)', :tag => s.version.to_s }
4.如果依賴了一些蘋果的framework灶壶,則把下面的放開(把#去掉),并且添加依賴的framework名稱
s.frameworks = 'UIKit', ‘MapKit'
5.如果依賴了其他的三方庫則同三處理
s.dependency 'AFNetworking', '~> 2.3’

剩下的我已經表明注釋了杈曲,大家可以按需更改驰凛。

6.更改完之后在再推送到git服務器上一次。

7.添加tags
這時候如果你用網頁進入git倉庫中的項目鱼蝉,你會發(fā)現(xiàn)界面不一樣了洒嗤。
以前是這樣


現(xiàn)在是這樣


然后把這個tag更改為s.version相同的數(shù)值

7.測試
打開命令行
cd到插件工程目錄下



輸入pod spec lint

可能會出現(xiàn)如下錯誤:
1)
ERROR | [iOS] unknown: Encountered an unknown error
說明: tags 和 s.version 數(shù)值不同
解決方法:修改遠程倉庫的 tags

2)
WARN | summary: The summary is not meaningful.
說明:s.summary 應該修改一些內容箫荡,讓其描述更加的有意義
解決方法:打開podspec魁亦,改一個更加有意義的描述

更改完了之后,別忘了和遠程倉庫同步羔挡。

如果出現(xiàn)如截圖所示洁奈,就表示基本成功了。


三.通過pod來獲取這個git上的項目

這里我只說明咱們的podfile要怎么寫绞灼。

pod '插件名稱', :git => ‘和s.homepage的數(shù)值相同’

如果到這里成功了那么就差最后一步利术。(基本應該沒啥問題)

四.把組件的實現(xiàn)文件放入

咱們只要
1.把咱們想要放的東西全都放到之前克隆的項目的Classes文件夾,記住把ReplaceMe.m刪除哦



2.然后上傳到服務器
3.pod update
就OK了

獲取插件所在bundle

NSBundle *bundle = [NSBundle bundleForClass:[self class]];

獲取插件中的圖片

NSBundle *bundle = [NSBundle bundleForClass:[self class]];
    
NSString *imagePath = [bundle pathForResource:@"btn_jinrisaishi@2x"
                                           ofType:@"png"
                                      inDirectory:@"SQPHelper.bundle"];
UIImage *image = [UIImage imageWithContentsOfFile:imagePath];
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市低矮,隨后出現(xiàn)的幾起案子印叁,更是在濱河造成了極大的恐慌,老刑警劉巖军掂,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件轮蜕,死亡現(xiàn)場離奇詭異,居然都是意外死亡蝗锥,警方通過查閱死者的電腦和手機跃洛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來终议,“玉大人汇竭,你說我怎么就攤上這事葱蝗。” “怎么了细燎?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵两曼,是天一觀的道長。 經常有香客問我找颓,道長合愈,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任击狮,我火速辦了婚禮佛析,結果婚禮上,老公的妹妹穿的比我還像新娘彪蓬。我一直安慰自己寸莫,他們只是感情好,可當我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布档冬。 她就那樣靜靜地躺著膘茎,像睡著了一般。 火紅的嫁衣襯著肌膚如雪酷誓。 梳的紋絲不亂的頭發(fā)上披坏,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天,我揣著相機與錄音盐数,去河邊找鬼棒拂。 笑死,一個胖子當著我的面吹牛玫氢,可吹牛的內容都是我干的帚屉。 我是一名探鬼主播,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼漾峡,長吁一口氣:“原來是場噩夢啊……” “哼攻旦!你這毒婦竟也來了?” 一聲冷哼從身側響起生逸,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤牢屋,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后槽袄,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體烙无,經...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年掰伸,在試婚紗的時候發(fā)現(xiàn)自己被綠了皱炉。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡狮鸭,死狀恐怖合搅,靈堂內的尸體忽然破棺而出多搀,到底是詐尸還是另有隱情,我是刑警寧澤灾部,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布康铭,位于F島的核電站,受9級特大地震影響赌髓,放射性物質發(fā)生泄漏从藤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一锁蠕、第九天 我趴在偏房一處隱蔽的房頂上張望夷野。 院中可真熱鬧,春花似錦荣倾、人聲如沸悯搔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽妒貌。三九已至,卻和暖如春铸豁,著一層夾襖步出監(jiān)牢的瞬間灌曙,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工节芥, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留在刺,地道東北人。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓藏古,卻偏偏與公主長得像增炭,于是被迫代替她去往敵國和親忍燥。 傳聞我的和親對象是個殘疾皇子拧晕,可洞房花燭夜當晚...
    茶點故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內容