我試圖找出如何從我的項目剝離調試日誌記錄,當我建立它的釋放和這裏找到一個很好的線程時:Is it true that one should not use NSLog() on production code?編譯器警告努力的#define DEBUG_MODE添加到我的prefix.pch文件
有點低於答案另一位用戶解釋瞭如何啓用/禁用DEBUG_MODE定義,所以我進入了完全按照解釋,即
在項目設置「預處理器宏」,調試行它已經讀取「調試= 1 「,所以我在字符串的末尾添加了」debug_mode = 1「,以便它現在讀取」debug = 1 debugmode = 1「(其中包含$ {inherited},不管是...)
不過,我現在得到一個編譯黃色預警稱:
詞彙或預處理器的問題,「DEBUG_MODE」宏我prefix.pch文件重新定義該行我加入其中:
#define DEBUG_MODE
#ifdef DEBUG_MODE
#define DebugLog(s, ...) NSLog(@"<%p %@:(%d)> %@", self, [[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, [NSString stringWithFormat:(s), ##__VA_ARGS__])
#else
#define DebugLog(s, ...)
#endif
,如果有人能夠解釋這個定義問題,我會很感激。
謝謝你,那就是我所做的:)但我仍然不明白警告的含義,請問你能解釋一下嗎? – Mathias
這個解決方案並沒有完全解決我的問題。我有一套「if elif elif elifs」,在其中一種情況下,我重新定義了一個覆蓋頂部默認設置的值。 ...如果你明白我的意思。代碼看起來很乾淨,似乎編譯和運行完美,但惱人地有這個警告。 –