iOS組件化之創(chuàng)建私有庫(kù)

1刑桑、組件化的第一步就是創(chuàng)建私有庫(kù)蝇刀,是iOS項(xiàng)目組件化開(kāi)發(fā)的基本操作。接下來(lái)就來(lái)說(shuō)一說(shuō)iOS中私有庫(kù)的創(chuàng)建方法直焙。為了方便稱(chēng)呼防止后邊理解錯(cuò)誤景东,我把私有庫(kù)稱(chēng)作組件

2、首先我們創(chuàng)建一個(gè)空文件夾奔誓,名為BSComponent,然后在終端中打開(kāi)這個(gè)文件夾之后創(chuàng)建的其他組件也將存放在這個(gè)文件夾便于管理終端進(jìn)入BSComponent目錄

3斤吐、執(zhí)行命令?pod lib create HomePage?創(chuàng)建名為HomePage的組件 這里默認(rèn)已經(jīng)安裝好了cocoapods

執(zhí)行創(chuàng)建倉(cāng)庫(kù)命令 這個(gè)HomePage將來(lái)就是首頁(yè)組件

輸入命令行后還會(huì)有一系列的選項(xiàng),

pod lib create HomePage

What platform do you want to use?? [ iOS / macOS ]

?> ios


What language do you want to use?? [ Swift / ObjC ]

?> objc


Would you like to include a demo application with your library? [ Yes / No ]

?> yes


Which testing frameworks will you use? [ Specta / Kiwi / None ]

?> none


Would you like to do view based testing? [ Yes / No ]

?> yes


What is your class prefix?

?> bs

4

厨喂、創(chuàng)建完成后打開(kāi)Gitee?創(chuàng)建一個(gè)私有倉(cāng)庫(kù)?HomePage

5和措、將HomePage上傳到遠(yuǎn)程倉(cāng)庫(kù),依次執(zhí)行下列命令 先拉取再提交,以免報(bào)錯(cuò)蜕煌,但是如果你創(chuàng)建的是空倉(cāng)庫(kù)拉取的時(shí)候會(huì)報(bào)錯(cuò)派阱,如果pull的時(shí)候報(bào)錯(cuò),直接push就可以了斜纪。

git remote add origin?https://xxxxx/HomePage.git

git pull origin master --allow-unrelated-histories

git push -u origin master //如果首次失敗可以強(qiáng)制執(zhí)行?git push -f origin master

6贫母、重點(diǎn)來(lái)了。提交完畢后必須給HomePage組件一個(gè)tag值盒刚。因?yàn)榻M件庫(kù)中的podspec文件中有對(duì)應(yīng)的tag這兩個(gè)必須一致腺劣。

git add .??//添加文件到緩沖區(qū)

git commit -m "描述"?//從緩沖區(qū)提交代碼到倉(cāng)庫(kù)


git tag -a '1.0.1'?-m '描述'

git push --tags

7、這時(shí)候可以用sourseTree添加改組件庫(kù)伪冰,方便后期管理維護(hù)誓酒。直接到BSComponent文件夾添加即可樟蠕,這樣我們遠(yuǎn)程倉(cāng)庫(kù)已經(jīng)創(chuàng)建完畢并與本地關(guān)聯(lián)成功

8贮聂、創(chuàng)建組件索引庫(kù)靠柑,再次打開(kāi)Gitee?,創(chuàng)建索引庫(kù)?BSComponent

pod repo add BSComponent https://xxxxxx/BSComponent.git

把添加遠(yuǎn)程所引庫(kù)到本地吓懈,這個(gè)所引庫(kù)理論上和cocoapods庫(kù)是同級(jí)的歼冰。所以所在目錄是

cd ~/.cocoapods/repos

pod repo

執(zhí)行pod repo?看下所引庫(kù)是否添加成功

luu@deMacBook-Pro Example % pod repo

BSComponent

- Type: git (master)

- URL:?https://xxxx/BSComponent.git

- Path: /Users/luu/.cocoapods/repos/BSComponent


cocoapods

- Type: git (unknown)

- URL:?https://github.com/CocoaPods/Specs.git

- Path: /Users/luu/.cocoapods/repos/cocoapods


trunk

- Type: CDN

- URL:?https://cdn.cocoapods.org/

- Path: /Users/luu/.cocoapods/repos/trunk

9、把組件綁定到組件索引庫(kù)上耻警,回到HomePage庫(kù)文件目錄下

這一步多容易掉坑里隔嫡,上邊說(shuō)的tag必須配置正確,

1甘穿、保證修改完HomePage組件提交后 再打新tag?每次修改組件都要在組件的.podspec文件中修改tag腮恩,之后打得tag也要一致。

2温兼、.podspec目錄中有資源所引秸滴,一般情況創(chuàng)建出來(lái)的所引都是錯(cuò)的,必須要改募判,所對(duì)應(yīng)的所引就是gitea所對(duì)的git地址荡含,也就是HomePage的git地址、HTTPS的就可以 下面就是個(gè).podspec文件届垫,這里要執(zhí)行成功s.homepage和s.source必須是對(duì)的释液。



Pod::Spec.new do |s|

?s.name?= 'HomePage'

?s.version?= '1.0.0'

?s.summary?= 'A short description of HomePage.'

?s.description?= <<-DESC

?s.homepage?= 'https://xxxx/HomePage'

?# s.screenshots?= 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'

?s.license?= { :type => 'MIT', :file => 'LICENSE' }

?s.author?= { '550482560@qq.com' => 'yuanyuan53@leju.com' }

?s.source?= { :git => 'https://xxxx/HomePage.git', :tag => s.version.to_s }

?# s.social_media_url = 'https://twitter.com/'


?s.ios.deployment_target = '9.0'


?s.source_files = 'HomePage/Classes/**/*'


?# s.resource_bundles = {

?#?'BSRouter' => ['HomePage/Assets/*.png']

?# }


?# s.public_header_files = 'Pod/Classes/**/*.h'

?# s.frameworks = 'UIKit', 'MapKit'

?# s.dependency 'HomePage'

end

3、執(zhí)行pod repo push<私有索引庫(kù)名稱(chēng)><私有庫(kù)podspec名稱(chēng)>?

pod repo push BSComponent HomePage.podspec?--verbose --use-libraries --allow-warnings

--verbose --use-libraries --allow-warnings?是忽略警告

下邊這段命令是檢測(cè)當(dāng)前Homepage是否正常装处。如果上邊的那段失敗可以檢測(cè)下原因误债,一般報(bào)錯(cuò)都是不太準(zhǔn)確。

pod lib lint --verbose --use-libraries --allow-warnings


10符衔、大功告成找前,去項(xiàng)目Podfile中添加source?'https://xxxxx/BSComponent.git'

source 'https://xxxxx/BSComponent.git'


pod 'HomePage','~> 6.6.8'

執(zhí)行pod install試試吧。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末判族,一起剝皮案震驚了整個(gè)濱河市躺盛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌形帮,老刑警劉巖槽惫,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異辩撑,居然都是意外死亡界斜,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)合冀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)各薇,“玉大人,你說(shuō)我怎么就攤上這事∏团校” “怎么了开缎?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)林螃。 經(jīng)常有香客問(wèn)我奕删,道長(zhǎng),這世上最難降的妖魔是什么疗认? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任完残,我火速辦了婚禮,結(jié)果婚禮上横漏,老公的妹妹穿的比我還像新娘谨设。我一直安慰自己,他們只是感情好缎浇,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布铝宵。 她就那樣靜靜地躺著,像睡著了一般华畏。 火紅的嫁衣襯著肌膚如雪鹏秋。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,692評(píng)論 1 305
  • 那天亡笑,我揣著相機(jī)與錄音侣夷,去河邊找鬼。 笑死仑乌,一個(gè)胖子當(dāng)著我的面吹牛百拓,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播晰甚,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼衙传,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了厕九?” 一聲冷哼從身側(cè)響起蓖捶,我...
    開(kāi)封第一講書(shū)人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎扁远,沒(méi)想到半個(gè)月后俊鱼,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡畅买,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年并闲,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谷羞。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡帝火,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情犀填,我是刑警寧澤萌京,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站宏浩,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏靠瞎。R本人自食惡果不足惜比庄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望乏盐。 院中可真熱鬧佳窑,春花似錦、人聲如沸父能。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)何吝。三九已至溉委,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間爱榕,已是汗流浹背瓣喊。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留黔酥,地道東北人藻三。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像跪者,于是被迫代替她去往敵國(guó)和親棵帽。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

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