神劍若水哥:iOS項(xiàng)目組件化

1.重構(gòu)項(xiàng)目的原因

1.1公司的項(xiàng)目比較多弧腥,之前最多開發(fā)的時(shí)候有14個(gè)本辐,因?yàn)楣镜闹伴_發(fā)的項(xiàng)目的架構(gòu)不和要求,因?yàn)檫@些項(xiàng)目大體很相似赖淤,開發(fā)一個(gè)相同的功能蜀漆,要遷移很多遍,開發(fā)量很大咱旱。項(xiàng)目确丢,里有不少地方不適合做遷移,為了減少開發(fā)量吐限,我個(gè)人決定做項(xiàng)目重構(gòu)鲜侥,可以提高自己的個(gè)人能力,減少工作量

image

1.2采用方式:父工程嵌套子工程的方式。因?yàn)轫?xiàng)目本身相似度還是比較高诸典,每個(gè)需求又存在細(xì)微的差別描函,但是需求不是很獨(dú)立,功能中圖片和風(fēng)格都依賴App狐粱。彼此之間依賴性比較強(qiáng)舀寓。個(gè)人感覺沒有必要使用pod做模塊化,使用靜態(tài)庫或者動(dòng)態(tài)庫就可以

2.項(xiàng)目改名:我們copy 一份功能最齊全的項(xiàng)目肌蜻,把改一下名字

首先copy一份功能比較齊全的項(xiàng)目互墓,進(jìn)行改名:

image

改名字是一件麻煩的事情

比如我們現(xiàn)在想把 zhongxiangbao 改為 FZAllAppsProject

注意:重命名項(xiàng)目時(shí),記得先備份好一份

注意:重命名項(xiàng)目時(shí)蒋搜,記得先備份好一份

注意:重命名項(xiàng)目時(shí)篡撵,記得先備份好一份

未修改之前的效果

image

2.1、打開項(xiàng)目豆挽,對(duì)項(xiàng)目名進(jìn)行 Rename,

操作:點(diǎn)擊項(xiàng)目名育谬,直接回車即可

image

輸入FZAllAppsProject,然后回車帮哈,出現(xiàn)如下圖:點(diǎn)擊Rename

image

2.2.修改文件夾名字

原來的文件夾膛檀,都是zhongxiangbao,如圖:

image

把zhongxiangbao 替換成 FZAllAppsProject,修改完成但汞,如圖:

image

2.3.修改工程文件

2.3.1 選中 FZAllAppsProject.xcodeproj 右鍵打開 --> 顯示包內(nèi)容 --> 雙擊打開 project.pbxproj 宿刮。

注意:打開的是 FZAllAppsProject.xcodeproj 文件,而不是 FZAllAppsProject.xcworkspace文件私蕾。

image
image

2.3.2 全部替換project.pbxproj 中zhongxiangbao為FZAllAppsProject

==操作步驟==

command +F 查找 zhongxiangbao 僵缺,然后點(diǎn)擊replace 全部替換成為FZAllAppsProject,最后Command + s 保存一下

++注意一定要保存++
++注意一定要保存++
++注意一定要保存++

截圖如下:

image
image

2.4 pod 的修改踩叭,打開Podfile 文件把里邊的zhongxiangbao 替換為FZAllAppsProject 磕潮,

image
image

執(zhí)行pod install

image

完成以后項(xiàng)目可以跑起來了翠胰,但是target 的名字不對(duì)

2.5.修改target 的名字,

image
image
image

2.6.全局替換zhongxiangbao為FZAllAppsProject


image

改名完成

3.新建另一個(gè)項(xiàng)目的target

3.1.復(fù)制一target

image
image

3.2.修改target名稱

image
image
image

3.3修改plist文件自脯,改為xiaoer-Enterprise

image

關(guān)閉項(xiàng)目之景,重新打開會(huì)發(fā)現(xiàn) 如下圖;點(diǎn)擊choose file

image
image

4.新建子項(xiàng)目工程

4.1.新建子工程文件夾FZAppSubProject

image

4.2.新建子工程(其實(shí)是一個(gè).framwork的靜態(tài)庫)膏潮,如下1锻狗,2:

image

選擇FrameWork,下一步

image

4.3項(xiàng)目名字焕参,然后下一步

image

4.4選擇剛才的FZAppSubProject路徑轻纪,然后下一步

image

4.5 將靜態(tài)包的工程,導(dǎo)入FZAllAppsProject 工程中

右擊FZAppSubProject叠纷,選擇add files


image

選擇剛剛創(chuàng)建的子工程的工程文件,xiaoer_pack.xcodeprog ,

注意:勾選對(duì)應(yīng)的target

image

創(chuàng)建完成

image

5.子工程資源配置

5.1 處理plist文件

5.1.1建立如下的目錄結(jié)構(gòu)

image

5.1.2.遷移plist 文件以后刻帚,重新關(guān)閉,打開項(xiàng)目涩嚣,項(xiàng)目提示plist文件丟失:

image

5.1.3重新選擇一下plist 文件

image

5.2. 配置工程對(duì)應(yīng)assest 盒子

5.1.新建盒子

image
image
image

5.2.在asset 盒子中添加圖片icon和launch image

image
image

配置上自己的圖片即可崇众,lunch image不要配置路徑,但是icon 需要配置路徑

5.3工程配置icon

5.3.1取消小二項(xiàng)目默認(rèn)的asset

image

5.3.2 配置新的asset 盒子

image

5.4 遷移圖片到新項(xiàng)目盒子里

image

image

5.5 跟換證書和bundleId

image
image

6.工程文件的頭文件配置

工程文件中很多頭文件配置需要共同引用

image

7.項(xiàng)目整理和配置

7.1.配置項(xiàng)目信息

image

info 中信息要copy 過來

image

7.2.主工程找不到子工程頭文件的問題

image

7. 3.主工程 找不到.m 文件Undefined symbol: OBJC_CLASS$_FZjingtaiTestView

image

解決辦法:

image

7.4.子工程找不到主工程定義的文件

解決辦法:

7.4.1.增加pch

image
image

7.4.2.增加子工程的header 搜索路徑$(SRCROOT)/login_xiaoer-prefix.pch

image

7.4.3.增加子工程的framework 搜索路徑

image

7. 5 主工程增加對(duì)子工程的庫的依賴

image

7.6 子工程中加入Xib 資源航厚;Xib 資源不能直接放入包中顷歌,否者無法訪問。要放入bundle 中阶淘,然后copy 到主工程衙吩。

7.6.1 新建一個(gè)mac os 的bundle

image
image

7.6.2 設(shè)置bundle 為iOS

image

7.6.3 設(shè)置bundle 為bundle

image

7.6.4 設(shè)置hidp 為NO互妓,為YES 時(shí)溪窒,會(huì)把圖片轉(zhuǎn)換為tiff 格式

image

7.6.5 設(shè)置bitCode 為NO

image

7.6.5 設(shè)置Build Active Architecture Only 為NO

image

7.6.6 設(shè)置子工程對(duì)bundle 的依賴,編譯子工程的時(shí)候冯勉,bundle 會(huì)自動(dòng)編譯

image

7. 6.7 把xib等資源導(dǎo)入bundle 中

image

7. 6.8 主工程中copy bundle資源

image

7.7 把資源copy 到FrameWork中澈蚌,把包設(shè)置為Embed& sign,不然frameWork 是不能放資源的

image

8. 修改Xib 加載圖片路徑的問題

詳細(xì)請(qǐng)見另一篇簡書文章
簡書鏈接:http://www.reibang.com/p/843f92746856

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末灼狰,一起剝皮案震驚了整個(gè)濱河市宛瞄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌交胚,老刑警劉巖份汗,帶你破解...
    沈念sama閱讀 219,188評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蝴簇,居然都是意外死亡杯活,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門熬词,熙熙樓的掌柜王于貴愁眉苦臉地迎上來旁钧,“玉大人吸重,你說我怎么就攤上這事⊥峤瘢” “怎么了嚎幸?”我有些...
    開封第一講書人閱讀 165,562評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長寄猩。 經(jīng)常有香客問我嫉晶,道長,這世上最難降的妖魔是什么田篇? 我笑而不...
    開封第一講書人閱讀 58,893評(píng)論 1 295
  • 正文 為了忘掉前任车遂,我火速辦了婚禮,結(jié)果婚禮上斯辰,老公的妹妹穿的比我還像新娘舶担。我一直安慰自己,他們只是感情好彬呻,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評(píng)論 6 392
  • 文/花漫 我一把揭開白布衣陶。 她就那樣靜靜地躺著,像睡著了一般闸氮。 火紅的嫁衣襯著肌膚如雪剪况。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,708評(píng)論 1 305
  • 那天蒲跨,我揣著相機(jī)與錄音译断,去河邊找鬼。 笑死或悲,一個(gè)胖子當(dāng)著我的面吹牛孙咪,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播巡语,決...
    沈念sama閱讀 40,430評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼翎蹈,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了男公?” 一聲冷哼從身側(cè)響起荤堪,我...
    開封第一講書人閱讀 39,342評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎枢赔,沒想到半個(gè)月后澄阳,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,801評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡踏拜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評(píng)論 3 337
  • 正文 我和宋清朗相戀三年碎赢,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片执隧。...
    茶點(diǎn)故事閱讀 40,115評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡揩抡,死狀恐怖户侥,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情峦嗤,我是刑警寧澤蕊唐,帶...
    沈念sama閱讀 35,804評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站烁设,受9級(jí)特大地震影響替梨,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜装黑,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評(píng)論 3 331
  • 文/蒙蒙 一副瀑、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧恋谭,春花似錦糠睡、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至材义,卻和暖如春均抽,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背其掂。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評(píng)論 1 272
  • 我被黑心中介騙來泰國打工油挥, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人款熬。 一個(gè)月前我還...
    沈念sama閱讀 48,365評(píng)論 3 373
  • 正文 我出身青樓深寥,卻偏偏與公主長得像,于是被迫代替她去往敵國和親华烟。 傳聞我的和親對(duì)象是個(gè)殘疾皇子翩迈,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評(píng)論 2 355