为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕斯709654 2019-12-09 14:46:57
我正在制作一个处理敏感信用卡数据的应用程序。如果我的代码以调试模式运行,我想将此数据记录到控制台并进行一些文件转储。但是,在最终的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


查看完整回答
反对 回复 2019-12-09
?
紫衣仙女

TA贡献1839条经验 获得超15个赞

Apple已DEBUG在调试版本中包含一个标志,因此您无需定义自己的标志。


您可能还想考虑NSLog在不处于DEBUG模式下时仅将其重新定义为空操作,这样您的代码将更具可移植性,并且您可以使用正则NSLog语句:


//put this in prefix.pch


#ifndef DEBUG

#undef NSLog

#define NSLog(args, ...)

#endif


查看完整回答
反对 回复 2019-12-09
  • 3 回答
  • 0 关注
  • 1011 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信