CocoaPods與SVN的配合使用(二)

在上篇文章CocoaPods與SVN的配合使用(一)中我們使用CocoaPods制作了基于SVN地址的開發(fā)庫(kù)增蹭,然后通過Pod命令將開發(fā)庫(kù)以源代碼方式引入工程中更胖。但是秒梳,有時(shí)我們不希望開發(fā)庫(kù)以源代碼方式提供給別人梆砸,這時(shí)就要制作靜態(tài)庫(kù),這種靜態(tài)庫(kù)有兩種形式:

  • .framework
  • .a文件 加 .h頭文件
CocoaPods 提供了cocoapods-packager來創(chuàng)建靜態(tài)庫(kù)佩抹,安裝此工具的過程在此不再贅述。(需要更新CocoaPods到較新的版本)

制作靜態(tài)庫(kù)的過程:

  1. 制作好源代碼開發(fā)庫(kù)取董,參考CocoaPods與SVN的配合使用(一)
  2. 重新編輯.podspec文件棍苹,用cocoapods-packager將源代碼開發(fā)庫(kù)打包成靜態(tài)庫(kù),配置.podspec文件支持靜態(tài)庫(kù)的Pod集成茵汰,本文將重點(diǎn)討論此過程枢里。

下面我們緊接CocoaPods與SVN的配合使用(一)中創(chuàng)建支持CocoaPods的開發(fā)庫(kù)的流程,從SVN中的tag分支入手蹂午。

  1. tags文件夾0.1.0分支上創(chuàng)建一個(gè)新分支0.1.0-framework放入branches中栏豺,現(xiàn)在以新分支0.1.0-framework為當(dāng)前開發(fā)分支,這一步主要是為了方便開發(fā)豆胸。

    svn路徑.png

  2. 重新編輯.podspec文件奥洼,然后在終端.app中使用pod package XXX.podspec --force命令來打包生成framework。

打包工具cocoapods-packager會(huì)根據(jù).podspec文件中的s.sources.source_files來確定源碼庫(kù)的路徑和所包含文件晚胡,其中s.source不支持本地路徑灵奖,請(qǐng)確保打包的文件被正確提交到了svn。
根據(jù)上圖分支的svn路徑估盘,我們使用的路徑為
s.source = { :svn => 'svn://IP_ADDRESS/app/Common/ios/XXX/branches/0.1.0-framework'}瓷患,
s.source_files = 'XXX/Classes/**/*'

設(shè)置s.source和s.source_files.png

編輯完成,在終端.app中定位到.podspec文件的上級(jí)目錄遣妥,使用pod package XXX.podspec --force命令生成framework擅编。
生成framework.png

查看剛才的目錄中,已經(jīng)生成了包含 XXX.framework的文件夾箫踩。將新生成的文件夾和framework文件提交到svn爱态。
framework文件路徑.png

  1. 配置.podspec文件支持framework的Pod集成。
    三種集成配置方式(源碼方式班套、framework方式肢藐、.a文件方式)見圖中紅框,這里我們使用framework下載方式設(shè)置項(xiàng)吱韭,將framework的路徑設(shè)置給s.vendored_frameworks項(xiàng)吆豹。
    配置.podspec文件支持Pod下載.png

    之后通過終端.app0.1.0-framework/Example文件夾使用pod install --no-repo-update來安裝鱼的,打開Xcode目錄,發(fā)現(xiàn)framework被添加進(jìn)了工程痘煤,接下來運(yùn)行測(cè)試凑阶。
    下載framework.png

    我在測(cè)試中出現(xiàn)了 Expected a type的問題,而使用源代碼方式集成卻沒有問題衷快,經(jīng)查證是由于生成的framework的頭文件中沒有顯示添加#import <UIKit/UIKit.h>宙橱,導(dǎo)致無(wú)法識(shí)別UIView,顯示添加之后再次打包framework蘸拔,問題解決师郑。
  2. 制作tag分支,并刪除tag分支上的源代碼调窍。
    我們將XXX.podspec中的s.source還原為
    s.source = { :svn => 'svn://IPAddress/app/Common/ios/XXX', :tag => s.version.to_s }
    根據(jù):tag => s.version.to_s宝冕,在SVN的tag中打包為相應(yīng)版本。這里為了和源碼版本的區(qū)別開來邓萨,我們將s.version的值設(shè)置為0.1.0-framework
    還原s.source.png

    制作tag分支地梨,步驟(以Cornerstone為例):
    制作tag分支.png

    制作完成后記得刪除掉tag分支上的源代碼。

下面是在其他工程中使用剛剛配置好的framework

1. 使用CocoaPods引入framework

在已有工程中的Podfile文件中編輯
pod ‘XXX’,:svn =>'svn://YourSvnPath/XXX’,:tag =>'0.1.0-framework'
可參考 Profile文件 Pod語(yǔ)法然后使用pod install --no-repo-update進(jìn)行安裝

引入framework.png

更新后可以看到XXX.framework已經(jīng)被下載下來了缔恳,現(xiàn)在你就可以在工程中使用這個(gè)framework了瘪松。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末握联,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌说庭,老刑警劉巖昼捍,帶你破解...
    沈念sama閱讀 222,865評(píng)論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件涮较,死亡現(xiàn)場(chǎng)離奇詭異左刽,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)刃滓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,296評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門仁烹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人咧虎,你說我怎么就攤上這事卓缰。” “怎么了砰诵?”我有些...
    開封第一講書人閱讀 169,631評(píng)論 0 364
  • 文/不壞的土叔 我叫張陵征唬,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我茁彭,道長(zhǎng)总寒,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,199評(píng)論 1 300
  • 正文 為了忘掉前任理肺,我火速辦了婚禮摄闸,結(jié)果婚禮上善镰,老公的妹妹穿的比我還像新娘。我一直安慰自己年枕,他們只是感情好炫欺,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,196評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著熏兄,像睡著了一般品洛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上摩桶,一...
    開封第一講書人閱讀 52,793評(píng)論 1 314
  • 那天桥状,我揣著相機(jī)與錄音,去河邊找鬼硝清。 笑死岛宦,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的耍缴。 我是一名探鬼主播,決...
    沈念sama閱讀 41,221評(píng)論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼挽霉,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼防嗡!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起侠坎,我...
    開封第一講書人閱讀 40,174評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蚁趁,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后实胸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體他嫡,經(jīng)...
    沈念sama閱讀 46,699評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,770評(píng)論 3 343
  • 正文 我和宋清朗相戀三年庐完,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了钢属。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,918評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡门躯,死狀恐怖淆党,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情讶凉,我是刑警寧澤染乌,帶...
    沈念sama閱讀 36,573評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站懂讯,受9級(jí)特大地震影響荷憋,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜褐望,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,255評(píng)論 3 336
  • 文/蒙蒙 一勒庄、第九天 我趴在偏房一處隱蔽的房頂上張望串前。 院中可真熱鬧,春花似錦锅铅、人聲如沸酪呻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,749評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)玩荠。三九已至,卻和暖如春贼邓,著一層夾襖步出監(jiān)牢的瞬間阶冈,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,862評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工塑径, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留女坑,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,364評(píng)論 3 379
  • 正文 我出身青樓统舀,卻偏偏與公主長(zhǎng)得像匆骗,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子誉简,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,926評(píng)論 2 361

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

  • 項(xiàng)目組件化碉就、平臺(tái)化是技術(shù)公司的共同目標(biāo),越來越多的技術(shù)公司推崇使用pod管理第三方庫(kù)以及私有組件闷串,一方面使項(xiàng)目架構(gòu)...
    swu_luo閱讀 21,896評(píng)論 0 39
  • 背景 上一篇博客最新的CocoaPods的使用教程(一)里主要講解了CocoPods得簡(jiǎn)單的日常使用瓮钥。但是我們經(jīng)常...
    Dely閱讀 5,821評(píng)論 11 34
  • 現(xiàn)在越來越多的iOS項(xiàng)目使用CocoaPods來管理第三方庫(kù),CocoaPods配置簡(jiǎn)單烹吵,使用方便碉熄,為我們省去了手...
    稀飯貓_26e6閱讀 5,197評(píng)論 11 10
  • Cocoapods是非常好用的一個(gè)iOS依賴管理工具,使用它可以方便的管理和更新項(xiàng)目中所使用到的第三方庫(kù)肋拔,以及將自...
    Nash33閱讀 2,087評(píng)論 0 50
  • 一. CocoaPods的介紹 什么是CocoaPods锈津?CocoaPods是一個(gè)負(fù)責(zé)管理iOS項(xiàng)目中第三方開源庫(kù)...
    輝712閱讀 3,946評(píng)論 0 7