iOS开发debug跟release版本log屏蔽方法

我们两清 提交于 2020-02-28 11:01:12

 

在开发过程中一般会用到NSLog(<#NSString *format, ...#>)来获得具体的信息。

但当我们发布app时,一步一步的去找NSLog(<#NSString *format, ...#>),并屏蔽掉,这样比较浪费时间还很累。我们可以采用预编译的方式来简化这个问题。
 
1.在***-Prefix.pch里面添加
#ifdef DEBUG
#    define DLog(...) NSLog(__VA_ARGS__)
#else
#    define DLog(...) /* */
#endif
#define ALog(...) NSLog(__VA_ARGS__)

2.进入Xcode 4,选择菜单“Product”->“Manage Schemes”,选择一个项目,点击“Edit”,Bulid Configuration

 

附: 检查DEBUG标志是否正确定义,xcode一般会在debug运行配置项里面已经定义号了DEBUG标志,如果没定义我们就自己写上,以我的xcode 4 为例,如下图:

 

  找到PreProcessor Macros 这个属性,对于Debug配置我们给他写上DEBUG,而在Release配置中把它留空。 这样我们刚才那段预处理命令就可以根据这个标志来判断我们编译的时调试版本还是发布版本,从而控制NSLog的输出。 (因为xcode 4 会把debug/release 两个配置项同时对比展现出来,而3.x版本的只能分别设置, 如果你用的时xcode 3.x 开发工具, 那么就分别对Debug/Release 都检查一下)。

 

http://www.cimgf.com/2009/01/24/dropping-nslog-in-release-builds/

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!