2014-11-02 35 views
1

我建立一個iOS應用有兩個目標(免費和付費),因爲它們都具有相同的代碼,但是有一點變化,如iAd的...等一些黑客可以破解我的CFBundleDisplayName嗎?

在代碼中,我使用的這條線,這些目標之間的區分代碼:

IsFree = [[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"] isEqualToString:@"Game.Free"]; 

但我擔心,如果infoDictionary文件容易受到黑客(越獄或其他)。

請告訴我是否有更好的方法來區分目標。

謝謝。

回答

3

更爲標準的方法是使用編譯器指令。

在兩個目標的構建設置中,編輯「其他C標誌」設置。對於 「精簡版」 的版本目標,添加類似:

-DLITE_VERSION

付費版目標,添加類似:

-DPAID_VERSION

然後,當您擁有特定於「lite」版本的代碼時,您可以執行以下操作:

#ifdef LITE_VERSION 
    // Lite version specific code here 
#endif 

和特定的付費版本的任何代碼,你可以這樣做:

#ifdef PAID_VERSION 
    // Paid version specific code here 
#endif 
+0

@rmaddy謝謝:) – Porizm 2014-11-02 22:33:47

相關問題