【iOS】利用CocoaPods創(chuàng)建私有庫(kù)進(jìn)行組件化開(kāi)發(fā)

之前使用CocoaPods管理過(guò)第三方庫(kù)曼追,前面也有翻譯文章介紹過(guò)CocoaPods的配置方法押赊,隨著項(xiàng)目越來(lái)越大抠刺,很多公司會(huì)使用CocoaPods進(jìn)行組件化開(kāi)發(fā)叶堆,下面利用一個(gè)demo介紹一下阱飘。

什么是庫(kù)

先說(shuō)下什么是庫(kù),庫(kù)分為靜態(tài)庫(kù)和動(dòng)態(tài)庫(kù)兩種:

  • 1虱颗、動(dòng)態(tài)庫(kù)是在運(yùn)行時(shí)實(shí)時(shí)部署沥匈,而靜態(tài)庫(kù)必須在編譯時(shí)連接到代碼。
  • 2忘渔、動(dòng)態(tài)庫(kù)加載到內(nèi)存可以重復(fù)使用咐熙,而靜態(tài)庫(kù)每次import都要引用一次。
  • 3辨萍、自定義的動(dòng)態(tài)庫(kù)只能部署在iOS8以上系統(tǒng)棋恼。
    庫(kù)有三種格式:
  • 1、.a:純代碼靜態(tài)庫(kù)
  • 2锈玉、.dylib:純代碼動(dòng)態(tài)庫(kù)
.a和.dylib
  • 3爪飘、.framework:可以包含資源,代碼和資源拉背∈ζ椋可以包含靜態(tài)庫(kù)和動(dòng)態(tài)庫(kù)。

創(chuàng)建一個(gè)庫(kù)

1椅棺、創(chuàng)建framework:


創(chuàng)建framework

2犁罩、隨便建一個(gè)類


創(chuàng)建一個(gè)類

3齐蔽、在創(chuàng)建的類里面添加兩個(gè)方法調(diào)試用


添加方法

4、在默認(rèn)創(chuàng)建的類里面導(dǎo)入頭文件


導(dǎo)入頭文件

5床估、然后我們看看Build Active Architecture Only 這個(gè)值含滴。這個(gè)屬性設(shè)置為yes,是為了debug的時(shí)候編譯速度更快丐巫,它只編譯當(dāng)前的architecture版本谈况。而設(shè)置為no時(shí),會(huì)編譯所有的版本递胧。所以丛忆,一般debug的時(shí)候可以選擇設(shè)置為yes誊垢,release的時(shí)候要改為no,以適應(yīng)不同設(shè)備丑勤。很多第三方庫(kù)都是這樣設(shè)置的菜拓。

Build Active Architecture Only

6是牢、把頭文件公開(kāi)痴荐,其他人可以引用到


公開(kāi)頭文件

7酱床、在github上創(chuàng)建一個(gè)倉(cāng)庫(kù),把剛才的工程push上去

8舷蒲、創(chuàng)建podspec文件


創(chuàng)建podspec文件
創(chuàng)建好了

9、配置podspec文件文件友多,具體教學(xué)可以看https://guides.cocoapods.org/syntax/podspec.htmlhttps://segmentfault.com/a/1190000012269307這兩個(gè)網(wǎng)址

Pod::Spec.new do |spec|
spec.name         = 'nickCocoaPodsFrameWork'
spec.version      = '0.0.1'
spec.license      = 'MIT'
spec.homepage     = 'https://github.com/tonymillion/Reachability'
spec.authors            = { "nickzc" => "chaokuzc@icloud.com" }
spec.summary      = '組件開(kāi)發(fā)實(shí)驗(yàn)'
spec.source       = { :git =>     'https://github.com/nickzc/nickCocoaPodsFrameWork.git', :tag => '0.0.1' }
spec.source_files = 'nickCocoaPodsFrameWork/**/*.{h,m}'
spec.platform    = :ios
end

10牲平、驗(yàn)證podspec文件:

pod spec lint xl_test.podspec --allow-warnings

如果報(bào)錯(cuò)了就去查詢錯(cuò)誤原因。

11域滥、新建一個(gè)程序纵柿,用cocoaPods安裝我們剛才寫的庫(kù):
(1)執(zhí)行 pod init命令
(2)profile文件添加剛才建的庫(kù)

# Uncomment the next line to define a global platform for your project
 platform :ios, '8.0'

target 'TestCocoaPods' do

    pod 'nickCocoaPodsFrameWork', :git => 'https://github.com/nickzc/nickCocoaPodsFrameWork.git'

end

(3)pod install --no-repo-update
pod update --no-repo-update

12、完成启绰。

剛才自己寫的framework的地址:https://github.com/nickzc/nickCocoaPodsFrameWork.git

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末昂儒,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子委可,更是在濱河造成了極大的恐慌渊跋,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,383評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件着倾,死亡現(xiàn)場(chǎng)離奇詭異拾酝,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)卡者,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門蒿囤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人崇决,你說(shuō)我怎么就攤上這事材诽〉状欤” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,852評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵脸侥,是天一觀的道長(zhǎng)建邓。 經(jīng)常有香客問(wèn)我,道長(zhǎng)湿痢,這世上最難降的妖魔是什么涝缝? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,621評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮譬重,結(jié)果婚禮上拒逮,老公的妹妹穿的比我還像新娘。我一直安慰自己臀规,他們只是感情好滩援,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著塔嬉,像睡著了一般玩徊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上谨究,一...
    開(kāi)封第一講書(shū)人閱讀 49,929評(píng)論 1 290
  • 那天恩袱,我揣著相機(jī)與錄音,去河邊找鬼胶哲。 笑死畔塔,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的鸯屿。 我是一名探鬼主播澈吨,決...
    沈念sama閱讀 39,076評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼寄摆!你這毒婦竟也來(lái)了谅辣?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,803評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤婶恼,失蹤者是張志新(化名)和其女友劉穎桑阶,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體勾邦,經(jīng)...
    沈念sama閱讀 44,265評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡联逻,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了检痰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片包归。...
    茶點(diǎn)故事閱讀 38,716評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖铅歼,靈堂內(nèi)的尸體忽然破棺而出公壤,到底是詐尸還是另有隱情换可,我是刑警寧澤,帶...
    沈念sama閱讀 34,395評(píng)論 4 333
  • 正文 年R本政府宣布厦幅,位于F島的核電站沾鳄,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏确憨。R本人自食惡果不足惜译荞,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評(píng)論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望休弃。 院中可真熱鬧吞歼,春花似錦、人聲如沸塔猾。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)丈甸。三九已至糯俗,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間睦擂,已是汗流浹背得湘。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,027評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留顿仇,地道東北人淘正。 一個(gè)月前我還...
    沈念sama閱讀 46,488評(píng)論 2 361
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像夺欲,于是被迫代替她去往敵國(guó)和親跪帝。 傳聞我的和親對(duì)象是個(gè)殘疾皇子今膊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評(píng)論 2 350

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