? ? ????公司突然給了個(gè)需求晦墙,要把另一個(gè)項(xiàng)目整合到當(dāng)前的項(xiàng)目里面,說是大部分頁面代碼共用少部分差別肴茄。后來我想了想偎痛,這個(gè)需求理論上是可以做的,但是要看兩個(gè)項(xiàng)目的差別多大独郎,其次踩麦!代碼寫得是不是很規(guī)范,耦合性高不高氓癌,在我看來我接手的項(xiàng)目代碼寫得很亂所以不贊成的谓谦,但是上面的要求,我還是去研究了一下具體的實(shí)現(xiàn)方案贪婉。
? ? ? ? 就如標(biāo)題所說的反粥,多個(gè)target的創(chuàng)建和一些配置而已,直接上圖:
①直接復(fù)制,會(huì)在下方多出一個(gè) 同名+copy 的target
②雙擊修改名稱成你想要的名字
③添加宏定義
④同樣才顿,在原來的target添加宏定義莫湘,值=0,(注意debug和release一起加)
⑤修改bundleIdentifier和displayName。
⑥修改啟動(dòng)圖和icon郑气。
⑦在pch文件使用
⑧在.m文件代碼中使用(我這是AppDelegate里面的didFinsh方法里面幅垮,在這里控制keywindow等就可以控制根試圖,首頁等差別文件)
⑨切換target運(yùn)行尾组,可以發(fā)現(xiàn)導(dǎo)入的頭文件和.m文件的輸出和預(yù)期一樣忙芒。
⑩新建文件的時(shí)候或者拖入文件的時(shí)候記得選擇合適的target,誰需要用到這個(gè)文件就選誰,都需要就全選(全部全選的話讳侨,應(yīng)該會(huì)給編譯帶來弊端)
*順便說一下呵萨,新建一個(gè)目錄來管理另一個(gè)target的專屬文件,也就是差異文件跨跨,使項(xiàng)目結(jié)構(gòu)清晰易讀潮峦。
*還有target也是可以直接點(diǎn)擊+號(hào)新建的,這樣建出來的target會(huì)附帶很多文件
可以看到勇婴,跟全新的項(xiàng)目一樣忱嘹,需要慢慢配置,我沒去仔細(xì)研究咆耿,有興趣的自己試試
? ? 最后德谅,理解了這層作用以后,以后新寫的項(xiàng)目盡量把這個(gè)問題考慮進(jìn)去萨螺,代碼封裝好一些窄做,耦合性低,復(fù)用性高慰技,方便以后擴(kuò)展椭盏。