2012-05-28 56 views
2

在Xcode(當前版本4.3.2)中,我爲Debug和Release Builds設置了DEBUG和NDEBUG宏定義,所以我可以選擇性地包含ObjC預處理器的調試代碼。
如何在Xcode分析和存檔構建中設置DEBUG和NDEBUG宏?

問題:當我選擇產品 - > Build For - >存檔時,既沒有定義DEBUG也沒有定義NDEBUG。我與產品有類似的問題 - > Build For - >分析。

問題:如何正確設置Archiving and Profiling構建的xcode中的DEBUG和NDEBUG,以便我的條件代碼包含(預處理器)宏不會中斷?

我在發送到AppStore之前對構建進行歸檔的當前解決方法是臨時刪除DEBUG代碼;但這不是一個好習慣,即使我受到git的源代碼版本控制系統的保護。

回答

2

嘗試添加您的定義爲

"Preprocessor Macros Not Used in Precompiled Headers" 

代替

"Preprocessor Macros" 
-1

檢查構建設置,以確保宏在這兩種調試界定和發佈模式。

例如:
- 對於調試模式:NDEBUG = 0和DEBUG = 1
- 對於釋放模式:NDEBUG = 1和DEBUG = 0

+0

這是不好的,因爲這兩個將總是被定義。如果你「#define DEBUG = 0」,「#if DEBUG」會返回FALSE,但是「#ifdef DEBUG」總是返回TRUE,因爲它被定義了,不管它有什麼值。 – Roger

相關問題