我正在制作一個處理敏感信用卡數(shù)據(jù)的應(yīng)用程序。如果我的代碼以調(diào)試模式運(yùn)行,我想將此數(shù)據(jù)記錄到控制臺并進(jìn)行一些文件轉(zhuǎn)儲。但是,在最終的Appstore版本(即以發(fā)布模式運(yùn)行)上,必須禁用所有這些功能(安全隱患)!我將盡力回答我的問題;因此問題就變成“此解決方案路徑是正確的還是最佳的實(shí)現(xiàn)方式?”// add `IS_DEBUG=1` to your debug build preprocessor settings #if( IS_DEBUG ) #define MYLog(args...) NSLog(args) #else #define MYLog(args...) #endif
3 回答

繁花如伊
TA貢獻(xiàn)2012條經(jīng)驗(yàn) 獲得超12個贊
有關(guān)Swift中的解決方案,請參閱SO 上的該線程。
基本上,Swift中的解決方案如下所示:
#if DEBUG
println("I'm running in DEBUG mode")
#else
println("I'm running in a non-DEBUG mode")
#endif
另外,您將需要通過輸入在密鑰部分中設(shè)置DEBUG符號。有關(guān)示例,請參見以下屏幕截圖:Swift Compiler - Custom FlagsOther Swift Flags-D DEBUG

紫衣仙女
TA貢獻(xiàn)1839條經(jīng)驗(yàn) 獲得超15個贊
Apple已DEBUG在調(diào)試版本中包含一個標(biāo)志,因此您無需定義自己的標(biāo)志。
您可能還想考慮NSLog在不處于DEBUG模式下時僅將其重新定義為空操作,這樣您的代碼將更具可移植性,并且您可以使用正則NSLog語句:
//put this in prefix.pch
#ifndef DEBUG
#undef NSLog
#define NSLog(args, ...)
#endif
- 3 回答
- 0 關(guān)注
- 1162 瀏覽
添加回答
舉報
0/150
提交
取消