2011-07-16 46 views
3

我正在嘗試爲我的iPhone App創建一個Lite版本。我跟着這tutorial到點並複製了目標。一切都很順利,但是當我在構建選項卡的LLVM GCC 4.2 - Language設置中輸入-DLITE_VERSION時,該定義無法正常工作。當我輸入#ifdef LITE_VERSION時,我的構建沒有錯誤,但仍然顯示我試圖設置爲隱藏的按鈕。有任何想法嗎。 BTW我從欄中選擇它旁邊的運行按鈕上的Xcode 4在Xcode 4中製作Lite版本

這裏的左上角更改活動方案是我的代碼:

#ifdef LITE_VERSION 

    [play setHidden:YES]; 

#else 
    [play setHidden:NO]; 
#endif 
+0

當您將您的「播放」按鈕設置爲隱藏而沒有預處理器指令時,它是否真的隱藏了?如果不是,也許你的代碼將hidden屬性設置爲YES。 – teriiehina

回答

1

我所做的是定義在#define我的精簡版版本-Prefix.pch像這樣:

#define POSTPASSFREE 2 

在我的 '親' 的版本我有這個#define

#define POSTPASS 1 

然後我用條件編譯,類似於你在那些事情需要略有不同的領域有什麼上面:

#if POSTPASSFREE 
    return NO; 
#else 
    return YES; 
#endif 

同時使用:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
{ 
#if POSTPASS 
    return 2; 
#elif POSTPASSFREE 
    return 1; 
#endif 
} 

方案之間切換將激活各種部分在建設時間。

+0

但我的主應用程序是唯一一個prefix.pch。我的精簡版本沒有它。我所做的只是複製了主要的遊戲目標,並在plist中更改了名稱和捆綁ID。我應該如何製作/發現我的lite版本prefix.pch? – MacN00b

+0

@ MacN00b - 以完全不同於我的方式查看教程創建新目標。我使用了Xcode 4菜單(文件 - >新建 - >新建目標)來創建我的新目標,它爲我的目標創建了一個新的Info.Plist,main和pch文件。 –

+0

您可以在構建設置中爲目標設置前綴頭文件 - 即爲lite版本(您編輯)製作副本。搜索新目標的構建設置下的「Prefix Header」,你會看到一行像「myApp/myApp-Prefix.pch」 - 將其更改爲(新)pch文件的名稱(例如myApp/myApp-精簡版,Prefix.pch – unsynchronized