gpt4 book ai didi

iphone - 在构建用于分发的应用程序时留下 NSLog 语句是否有任何危险?

转载 作者:行者123 更新时间:2023-12-03 18:23:11 24 4
gpt4 key购买 nike

出于某种原因,在我的开发周期中,我发现自己删除了插入以帮助调试的 NSLog 语句。我真的不知道为什么我有这个习惯,我就是这么做。

有时,在开发过程中我会发现我会遇到以前遇到过的问题,然后最终重新添加旧的 NSLog 语句。然后稍后再删除。

有什么充分的理由删除 NSLog 语句吗?根据我的经验,留下一两个并不会导致任何应用程序被拒绝。而且,据我所知,当应用程序分发时,他们不会在任何地方记录任何内容(如果我在这方面错了,请纠正我),所以他们似乎没有损害任何东西。我是否应该担心性能受到影响?

最佳答案

我所做的是添加一个宏,仅当我处于 Debug模式时才进行日志记录。将其放入您的 <APP_NAME>_Prefix.pch文件

#ifdef DEBUG
#define DebugLog( s, ... ) NSLog( @"<%p %@:%d (%@)> %@", self, [[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, NSStringFromSelector(_cmd), [NSString stringWithFormat:(s), ##__VA_ARGS__] )
#else
#define DebugLog( s, ... )
#endif

作为常规日志的奖励,您可以获得文件名、方法名称和行号。

然后在项目信息中,仅在调试版本下添加此内容。它位于 User-defined GCC_PREPROCESSOR_DEFINITIONS 下的部分:

DEBUG

然后将项目中的任何 NSLog 替换为 DebugLog(它采用与 NSLog 相同的参数),这样您就不必担心实时发布调试语句。

在回答您的问题时,日志记录会降低应用程序的性能,除非您需要它们来帮助进行野外调试,否则我会将它们排除在外。

关于iphone - 在构建用于分发的应用程序时留下 NSLog 语句是否有任何危险?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1674219/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com