使用Xcode-debug模式和release模式

Posted blfbuaa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Xcode-debug模式和release模式相关的知识,希望对你有一定的参考价值。

     在开发过程中,我们常常须要用到NSLog输出一些信息,甚至有的开发过程。必须在控制台查看输出,有经验的程序猿通过控制台输出就能知道整个数据交互的一个流程。

可是一个公布的程序,里面带有太多的NSLog输出,肯定对于App性能有所影响,这时候我们能够使用一个宏定义来处理,在开发的时候使用DEBUG模式,在公布的时候使用RELEASE模式。这样,公布的App就不会在程序内部做大量的NSLog输出了。

简单的代码例如以下,

?

1
2
3
4
#if defined(DEBUG)||defined(_DEBUG)
    NSLog(@"測试代码");
    NSLog(@"Test Coding");
#endif

上面的#if #endif宏定义的意思就是假设定义了DEBUG,那么就使用NSLog输出;否则这段代码直接忽略。有人会疑问这个DEBUG和_DEBUG来自哪里。这个事实上不用操心,这个来自于Xcode的默认设置,我们能够取消DEBUG模式,开启RELEASE公布模式。例如以下截图所看到的,

选择Product->Scheme->Edit Scheme。

技术分享

下图能够选择Debug和Release两种模式。

技术分享

     这里我选择了Release,那么则默认未定义Debug。则上面代码中#if...#endif之间的输出NSLog不会运行。

这样就在公布程序的时候。节省了一些硬件设备的资源。

以上是关于使用Xcode-debug模式和release模式的主要内容,如果未能解决你的问题,请参考以下文章

Flutter在Debug和Release下分别使用啥编译模式,有啥区别?

C#里的Debug模式和Release模式有啥不同?

gccrelease模式设置断点

iOS-----Xcode-Debug尝试

.net 项目在Debug模式下打包跟在release模式下打包有啥区别?

Android 判断是开发debug模式,还是发布release模式