我正在制作一个处理敏感信用卡数据的应用程序。如果我的代码以调试模式运行,我想将此数据记录到控制台并进行一些文件转储。但是,在最终的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 关注
- 1103 浏览
添加回答
举报
0/150
提交
取消