2012-11-28 28 views
2

我開發iOS應用程序,我有兩個項目(兩個客戶)。我已經通過複製第一個,我的問題我怎麼能測試,如果我在targetX/targetY創建了第二個目標?開發具有多個目標的iOS應用程序時,最佳實踐是什麼?最佳實踐與使用目標在iOS的項目

+0

你的意思是:「如果我在靶X」?你爲什麼想知道? – Mark

+0

例如在我的代碼:if(目標= 1)的NSLog(@「目標1」),否則.... – samir

回答

4

我不知道這是否是最佳做法,但實現此目標的一種方法是在目標的構建設置中添加一個其他C標記(請參閱圖像)。例如:

目標答:

-DAPP_ZENDER=1 

目標B:

-DAPP_ZENDER=2 

然後在代碼中,你可以檢查這個定義:

- (NSInteger)appZender { 
#if APP_ZENDER == 1 
    return 1; 
#elif APP_ZENDER == 2 
    return 2; 
#endif 
} 

The 'Build Settings' option

+0

這一點,或使用預處理宏和使用'#ifdef'或類似的檢查。 – Hyperbole

+0

@Hyperbole那也可以,但是要求他要麼忙裏忙外的目標特定的頭文件和/或定義或記住,不同的目標,需要他的預處理宏的一些評論/取消註釋。在目標版本設置中設置它們是一個「一勞永逸」的解決方案,這很好。 – SpacyRicochet

+0

預處理器宏可以在構建設置中設置,與其他C標誌相同,不需要雜耍。 – Hyperbole

0

在您的代碼中檢查目標似乎不是您的情況的最佳解決方案,無論可能如何。我會考慮創建兩個或更多的子類來處理邏輯差異,或者使用多個本地化的字符串文件,如果這足夠的話。