码迷,mamicode.com
首页 > 移动开发 > 详细

iOS开发过程中,NSLog宏定义

时间:2015-01-08 13:06:26      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:

     在项目开发的过程中,经常遇到要在调试的时候打印log,但是上线或是release 的时候不需要去显示log 的情况,此时你辛辛苦苦写了那么多的log,你要么就手动注释掉,要么就是设一个开关变量,企图用这个总开关开启。其实可以充分利用宏定义进行设置。

 

      步骤比较简单,只需要 在ProjectName_Prefix.pch 中追加你对应的宏定义,不用import 就可以直接使用了。

       宏定义写法如下:

 

[plain] view plaincopy
 
  1. #ifdef DEBUG  
  2. #define LOG(...) NSLog(__VA_ARGS__);  
  3. #define LOG_METHOD NSLog(@"%s", __func__);  
  4. #else  
  5. #define LOG(...); #define LOG_METHOD;  
  6. #endif  



 

      这样设置后,只需要在Product ->Scheme->Edit Scheme ->info选择,是release ,还是debug版本即可。如果debug 版本,则答应log,若release版本则不打印。

我们发布到appstore 上的版本均是release版本,这里简单说下这两个版本的差异。
       release 是发行版本,比debug版本要小一些,他们调用两个不同底层库,debug 包含的信息多,可以断点调试,单步执行,使用使用TRACE/ASSERT等调试输出语句,
但是release 版本不包含调试信息,运行速度比较快。
另外在此处设置的DEBUG 参数可以在下面的路径进行设置:工程->Target->Build Setting ->Preprocessor Macros。默认系统已经给出了DEBUG的参数。如果要增加新的参数,则在哪里进行增加。

iOS开发过程中,NSLog宏定义

标签:

原文地址:http://www.cnblogs.com/MyPage-Eric/p/4210530.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!