什么是 Release 版本、Debug 版本?
bug-缺陷,程序故障.而debug指的是排除缺陷,显然这个模式是面向开发者的。
而release是满足发布所用。
Debug 和 Release,在Target的Setting中相信大家应该看到很多选项都分为 Debug 和 Release,方便我们分别设置,满足调试和发布的不同需求。
Release 是发行版本,比 Debug 版本有一些优化,文件比 Debug 文件小 Debug 是调试版本,Debug 和Release 调用两个不同的底层库。通俗点讲,我们开发者自己内部真机或模拟器调试时,使用Debug模式就好,等到想要发布时,也就是说需要大众客户使用时,需要build Release版本,具体区别如下:
一、Debug 是调试版本,包括的程序信息更多
二、只有 Debug 版的程序才能设置断点、单步执行、使用TRACE/ASSERT等调试输出语句
三、Release 不包含任何调试信息,所以体积小、运行速度快
用法
如何实现不同版本下的 NSlog 的打印输出?
在-Prefix.pch(pch全称是“precompiled header”,也就是预编译头文件,该文件里存放的工程中一些不常被修改的代码,比如常用的框架头文件,这样做的目的提高编译器编译速度。我们知道当我们修改一个工程中某个文件代码时候,编译器并不是重新编译所有所有文件,而是编译改动过文件的,假如pch中某个文件修改了,那么pch整个文件里包含的的其他文件也会重新编译一次,这样就会消耗大量时间,所以它里面添加的文件最好是是很少变动或不变动的头文件或者是预编译的代码片段;)文件中添加
#ifdef DEBUG
#define NSLog(...) NSLog(__VA_ARGS__)
#define debugMethod() NSLog(@"%s", __func__)
#else
#define NSLog(...)
#define debugMethod()
#endif