0

我想为我的 iOS 应用程序禁用OSLog (发布版本)。我没有在我的应用程序中使用 OSLog,但我仍然在控制台应用程序中看到一些由苹果框架(如 libnetwork、Corefoundation、SystemConfiguration 等)记录的日志。有没有办法完全关闭应用程序的所有日志?

我将以下值添加到环境变量中,但它仅在我从 XCode 运行应用程序时才禁用日志,但是,当我通过单击应用程序图标启动它时,我仍然在控制台应用程序上看到我的应用程序的 OSLog。

OS_ACTIVITY_MODE=disable

注意:我的应用程序同时使用了 Objective C 和 Swift 编程语言,并禁用了 NSLog(Objective C) 和 print(Swift),我对此没有任何问题。我想为我的发布版本禁用所有日志,包括来自 Apple 框架的日志。

4

1 回答 1

0

只是一个快速的解决方案,但不是最舒服的..

#ifndef DEBUG
#define OSLog(FORMAT, ...) {}
#endif

如果不使用 DEBUG 模式,则应为 RELEASE,OSLog()编译时将与 void 函数内容进行交换。这将适用于您编写的代码,一般不会在您的源代码范围之外关闭日志。

于 2020-09-28T01:01:53.270 回答