iOS私有庫(kù)創(chuàng)建(我們用的是gitlab倉(cāng)庫(kù))-組件化

一惕艳、新建一個(gè)code庫(kù)锈至,并且發(fā)布到私有倉(cāng)庫(kù)

首先我們得明白兩個(gè)概念
1恤批、code repository是代碼倉(cāng)庫(kù),我們把包代碼上傳到這個(gè)倉(cāng)庫(kù)裹赴。不同的庫(kù),對(duì)應(yīng)的不同的code repository
2诀浪、spec repository是配置倉(cāng)庫(kù)棋返,所有的配置按照包名、版本號(hào)分門別類的存放在這個(gè)倉(cāng)庫(kù)雷猪。這個(gè)倉(cāng)庫(kù)只用來存放spec文件睛竣,不存放代碼。

1求摇、我們先新建一個(gè)spec repository 倉(cāng)庫(kù) 射沟。先在gitlab(或者GitHub)新建一個(gè)倉(cāng)庫(kù)殊者。復(fù)制倉(cāng)庫(kù)的地址并且執(zhí)行下面的代碼

pod repo add SLSpecs https://git.shunliandongli.com/shunlian_ios/SLSpecs.git

查看是否添加成功
執(zhí)行pod repo list 。出現(xiàn)下面就是添加成功了

image.png

2验夯、創(chuàng)建本地code repository倉(cāng)庫(kù)` ,我們以ShunLianLib為倉(cāng)庫(kù)的名字猖吴,cd 到你熬創(chuàng)建的倉(cāng)庫(kù)的目錄

執(zhí)行代碼 pod lib create ShunLianLib

image.png

這樣本地的pod倉(cāng)庫(kù)就創(chuàng)建好了。

3挥转、修改ShunLianLib.podspec文件(這是重點(diǎn))海蔽。

使用下面這些常用的就行了。還有一些需要的绑谣,自己去查資料

Pod::Spec.new do |s|
  s.name             = 'ShunLianLib' #庫(kù)名字
  s.version          = '0.1.0'       #庫(kù)版本號(hào)
  s.summary          = 'A short description of ShunLianLib.'  #摘要
  s.description      = <<-DESC
TODO: Add long description of the pod here.
                       DESC                 #描述

  s.homepage         = 'https://github.com/goodBoyAndGril/ShunLianLib'  #倉(cāng)庫(kù)地址
  # s.screenshots     = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'  #截屏地址
  s.license          = { :type => 'MIT', :file => 'LICENSE' }  #開源協(xié)議
  s.author           = { 'goodBoyAndGril' => 'chenzhen@shunlianwangluo.com' } #作者
  s.source           = { :git => 'https://github.com/goodBoyAndGril/ShunLianLib.git', :tag => s.version.to_s } #庫(kù)的遠(yuǎn)程倉(cāng)庫(kù)地址
  # s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'

  s.ios.deployment_target = '8.0' #支持的最低版本

  s.source_files = 'ShunLianLib/Classes/**/*'  #倉(cāng)庫(kù)的實(shí)際文件地址党窜,發(fā)布的就是這一塊的地址
  
  # s.resource_bundles = {
  #   'ShunLianLib' => ['ShunLianLib/Assets/*.png']
  # } #資源文件路徑

  # s.public_header_files = 'Pod/Classes/**/*.h'
  # s.frameworks = 'UIKit', 'MapKit'   #引用的系統(tǒng)庫(kù)
  # s.dependency 'AFNetworking', '~> 2.3'   #引用的第三方庫(kù)
  # s.dependency 'xxxxxx', '~> 2.3'  #引用的第三方庫(kù)
  # s.dependency 'xxxxxx', '~> 2.3' #引用的第三方庫(kù)
4、驗(yàn)證ShunLianLib.podspec文件的正確性

執(zhí)行 pod lib lint 或者 pod lib lint --allow-warnings(忽略警告)
得到下面的就是驗(yàn)證通過

image.png
5借宵、在gitlab上新建code repository 幌衣,然后提交版本,生成標(biāo)簽并提交
//進(jìn)入你剛剛本地創(chuàng)建的代碼路徑
cd existing_folder
//初始化
git init
//添加遠(yuǎn)程代碼庫(kù)
git remote add origin https://git.shunliandongli.com/Private/ShunLianLib.git
//將全部文件加入到暫存區(qū)
git add .
//代碼提交到本地
git commit
//代碼推送到遠(yuǎn)程
git push -u origin master
6壤玫、代碼提交之后就之后豁护,就發(fā)布新版本
6.1、用sourceTree提交一個(gè)版本垦细,再給這個(gè)版本添加一個(gè)標(biāo)簽
image.png
6.2择镇、填寫標(biāo)簽 就是版本號(hào)。勾選推送標(biāo)簽
image.png
6.3括改、這里就生成了一個(gè)標(biāo)簽
image.png
6.4腻豌、現(xiàn)在要修改.podspec 文件 (我們以SLFoundation為例),修改SLFounddation.podspec中的s.version = '對(duì)應(yīng)的標(biāo)簽'嘱能。這個(gè)版本號(hào)就是我們剛剛的標(biāo)簽吝梅,然后保存
image.png

image.png
6.5、保存成功之后惹骂,執(zhí)行代碼苏携,cdSLFoundation.podspec所在的目錄,在控制臺(tái)執(zhí)行下面的代碼对粪,提交到SLSpecs代碼庫(kù)中
pod repo push SLSpecs SLFoundation.podspec
pod repo push SLSpecs SLFoundation.podspec --allow-warnings //這個(gè)忽略警告
7右冻、出現(xiàn)了這個(gè)就說明成功了
-> SLFoundation (0.0.5)
   - NOTE  | xcodebuild:  note: Using new build system
   - NOTE  | [iOS] xcodebuild:  note: Planning build
  - NOTE  | [iOS] xcodebuild:  note: Constructing build description
  - NOTE  | [iOS] xcodebuild:  warning: Skipping code signing because the 
 target does not have an Info.plist file and one is not being generated 
 automatically. (in target 'App' from project 'App')
執(zhí)行下面代碼。搜索一下著拭,驗(yàn)證是否能搜索到

pod search SLFoundation


二纱扭、對(duì)已有庫(kù)進(jìn)行更新

執(zhí)行上面步驟6,更新代碼上傳標(biāo)簽儡遮,修改版本號(hào)乳蛾。

[!] Tips:由于發(fā)展豆莢實(shí)現(xiàn)細(xì)節(jié),當(dāng)你添加新的/現(xiàn)有的文件Pod/Classes或Pod/Assets或更新podspec,你應(yīng)該運(yùn)行pod install或pod update肃叶。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蹂随,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子因惭,更是在濱河造成了極大的恐慌岳锁,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件筛欢,死亡現(xiàn)場(chǎng)離奇詭異浸锨,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)版姑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門柱搜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人剥险,你說我怎么就攤上這事聪蘸。” “怎么了表制?”我有些...
    開封第一講書人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵健爬,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我么介,道長(zhǎng)娜遵,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任壤短,我火速辦了婚禮设拟,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘久脯。我一直安慰自己纳胧,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開白布帘撰。 她就那樣靜靜地躺著跑慕,像睡著了一般。 火紅的嫁衣襯著肌膚如雪摧找。 梳的紋絲不亂的頭發(fā)上核行,一...
    開封第一講書人閱讀 49,166評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音蹬耘,去河邊找鬼钮科。 笑死,一個(gè)胖子當(dāng)著我的面吹牛婆赠,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼休里,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼蛆挫!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起妙黍,我...
    開封第一講書人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤悴侵,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后拭嫁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體可免,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年做粤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了浇借。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡怕品,死狀恐怖妇垢,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情肉康,我是刑警寧澤闯估,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站吼和,受9級(jí)特大地震影響涨薪,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜炫乓,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一刚夺、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧厢岂,春花似錦光督、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至卒茬,卻和暖如春船老,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背圃酵。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來泰國(guó)打工柳畔, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人郭赐。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓薪韩,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子俘陷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344