我正在制作一個處理敏感信用卡數據的應用程序。如果我的代碼以調試模式運行,我想將此數據記錄到控制臺并進行一些文件轉儲。但是,在最終的Appstore版本(即以發布模式運行)上,必須禁用所有這些功能(安全隱患)!我將盡力回答我的問題;因此問題就變成“此解決方案路徑是正確的還是最佳的實現方式?”// 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貢獻2012條經驗 獲得超12個贊
有關Swift中的解決方案,請參閱SO 上的該線程。
基本上,Swift中的解決方案如下所示:
#if DEBUG
println("I'm running in DEBUG mode")
#else
println("I'm running in a non-DEBUG mode")
#endif
另外,您將需要通過輸入在密鑰部分中設置DEBUG符號。有關示例,請參見以下屏幕截圖:Swift Compiler - Custom FlagsOther Swift Flags-D DEBUG

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