iOS多Target開發(fā)相似App

在實際開發(fā)中希柿,由于公司的業(yè)務(wù)性質(zhì)耻矮,可能一個產(chǎn)品下會繁衍出來許多其他類似的APP,其功能可能也和本來的應(yīng)用八九不離十件蚕,他們的差別可能就在于某幾個頁面UI的差異,或者僅僅是項目icon圖標(biāo)的不同产禾,但是如果每個APP都是一個項目排作,后期維護(hù)成本將會成倍增長,這個時候我們就可以采用Target的方式來在一個項目里面創(chuàng)建多個target,這里就描述下Xcode里通過添加多個targets來進(jìn)行版本控制的步驟:

第一步:首先新建一個工程,復(fù)制一個target
001.png
第二步:修改復(fù)制出來的target的名字以便區(qū)分
002.png
第三步:接下來整理一下目錄結(jié)構(gòu)亚情,目前我們看到的目錄結(jié)構(gòu)是這樣的妄痪,如圖003所示,現(xiàn)在調(diào)整為圖004的目錄結(jié)構(gòu):
003.png
004.png
調(diào)整之后楞件,可能會報如下的錯誤
error.png

這里是因為plist文件更換了系統(tǒng)的默認(rèn)位置,接著需要按照第四步來操作衫生。

第四步:設(shè)置Target與plist文件對應(yīng)

切換到Target目錄下,選擇其中一個Target之后并選擇general土浸,然后可以看到每個Target的右側(cè)都有對應(yīng)的choose info.plist file選項罪针,點擊可以選擇與Target對應(yīng)的plist文件。這也就相當(dāng)于不同的Target項目對應(yīng)了不同的plist配置黄伊。

005.png
006.png

再次build泪酱,就不會有error了.

【注意】:我們在移動文件的時候可能需要重新引用文件到工程中,此時add文件的時候一定要注意選擇Target还最,如果是共用文件一定要勾選對應(yīng)的Target西篓,類似AppDelegate這樣文件的操作如下:

07.png

Tips:注意,這里為了區(qū)分不同版本憋活,所以最好分文件夾區(qū)分開來岂津。

第五步:此時悦即,工程中就有兩個target了吮成,分別設(shè)置兩個target的icon圖標(biāo)
08.png
09.png
第六步:為每個Target設(shè)置Display Name橱乱,Bundle Identifier等信息

點擊Target->選擇General,我們分別設(shè)置不同項目的名稱和BundleID信息

010.png
第七步:同一份代碼區(qū)分不同Target的操作

使用多Target是為了共用一部分代碼粱甫,但是有些共用的文件在不同的Target下是有細(xì)微不同的泳叠,那么我們在具體實現(xiàn)的時候就需要作出區(qū)分。這里解決的方法是針對不同的Target定義宏茶宵。

011.png

首先選擇一個Target危纫,如:TargetDemo-customer,依次選擇Build Settings ->搜索PreprocessorMacros, 在找到PreprocessorMacros之后乌庶,我們分別在Debug和Release中設(shè)置TargetType=1如下圖進(jìn)行設(shè)置:

012.png
013.png
第八步:分別選擇Xcode左上角不同的Target運行
014.png

這里种蝶,可以再APPdelegate里面加上驗證的代碼,進(jìn)行驗證瞒大,看是否成功螃征。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
    self.window.backgroundColor = [UIColor whiteColor];

    
    switch (TargetType) {
        case 1:
            NSLog(@"TargetCustomer-用戶版");
            break;
        case 2:
            NSLog(@"TargetDoctor-醫(yī)生版");
            break;
        default:
            break;
    }
    
    return YES;
}

番外:解決使用Cocoapods的問題

因為存在多個Target,我們需要區(qū)別的設(shè)置不同target需要的第三方庫透敌,

target.png

這里可能出現(xiàn)的問題是如果有很多類似AFNetworking這樣的被多個Target需要的類庫盯滚,我們在刪除和增加的時候就會頻繁的操作而且會代碼冗余。所以酗电,建議如下優(yōu)化魄藕。


newtarget.png

此時,設(shè)置多個target已經(jīng)完成撵术。本文暫未設(shè)計到XIB的相關(guān)操作泼疑,因為寫的是demo,之所以并未設(shè)計荷荤,后序也將陸續(xù)補充上來退渗,哈哈 ,當(dāng)然各位有好的方法蕴纳,也可以分享與我会油,一起進(jìn)步。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末古毛,一起剝皮案震驚了整個濱河市翻翩,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌稻薇,老刑警劉巖嫂冻,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異塞椎,居然都是意外死亡桨仿,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進(jìn)店門案狠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來服傍,“玉大人钱雷,你說我怎么就攤上這事〈盗悖” “怎么了罩抗?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長灿椅。 經(jīng)常有香客問我套蒂,道長,這世上最難降的妖魔是什么茫蛹? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任操刀,我火速辦了婚禮,結(jié)果婚禮上麻惶,老公的妹妹穿的比我還像新娘。我一直安慰自己信夫,他們只是感情好窃蹋,可當(dāng)我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著静稻,像睡著了一般警没。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上振湾,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天杀迹,我揣著相機與錄音,去河邊找鬼押搪。 笑死树酪,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的大州。 我是一名探鬼主播续语,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼厦画!你這毒婦竟也來了疮茄?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤根暑,失蹤者是張志新(化名)和其女友劉穎力试,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體排嫌,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡畸裳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了淳地。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片躯畴。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡民鼓,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蓬抄,到底是詐尸還是另有隱情丰嘉,我是刑警寧澤,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布嚷缭,位于F島的核電站饮亏,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏阅爽。R本人自食惡果不足惜路幸,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望付翁。 院中可真熱鬧简肴,春花似錦、人聲如沸百侧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽佣渴。三九已至辫狼,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間辛润,已是汗流浹背膨处。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留砂竖,地道東北人真椿。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像乎澄,于是被迫代替她去往敵國和親瀑粥。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,976評論 2 355

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