Xcode / iOS:如何确定代码是否正在DEBUG / RELEASE构建中运行?

我正在制作一个处理敏感信用卡数据的应用程序。


如果我的代码以调试模式运行,我想将此数据记录到控制台并进行一些文件转储。


但是,在最终的Appstore版本(即以发布模式运行)上,必须禁用所有这些功能(安全隐患)!


我将尽力回答我的问题;因此问题就变成“此解决方案路径是正确的还是最佳的实现方式?”


// add `IS_DEBUG=1` to your debug build preprocessor settings  


#if( IS_DEBUG )  

#define MYLog(args...) NSLog(args)  

#else  

#define MYLog(args...)  

#endif  


慕斯709654
浏览 1104回答 3
3回答

繁花如伊

有关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

紫衣仙女

Apple已DEBUG在调试版本中包含一个标志,因此您无需定义自己的标志。您可能还想考虑NSLog在不处于DEBUG模式下时仅将其重新定义为空操作,这样您的代码将更具可移植性,并且您可以使用正则NSLog语句://put this in prefix.pch#ifndef DEBUG#undef NSLog#define NSLog(args, ...)#endif
打开App,查看更多内容
随时随地看视频慕课网APP