首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在版本构建中禁用iOS OSLog

在版本构建中禁用iOS OSLog
EN

Stack Overflow用户
提问于 2020-09-27 23:38:43
回答 2查看 605关注 0票数 1

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

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

代码语言:javascript
复制
OS_ACTIVITY_MODE=disable

注意:我的应用程序使用目标C和Swift编程语言,禁用NSLog(目标C)和打印(Swift),我对此没有异议。我想禁用所有的日志,包括来自苹果框架的日志,以供我发布版本。

EN

回答 2

Stack Overflow用户

发布于 2020-09-28 01:01:53

只是一个快速的解决办法,但不是最舒服的。

代码语言:javascript
复制
#ifndef DEBUG
#define OSLog(FORMAT, ...) {}
#endif

如果不使用应该发布的调试模式,那么OSLog()将在编译时与交换。这将适用于您编写的代码,而不是通常在源范围之外关闭日志。

票数 0
EN

Stack Overflow用户

发布于 2022-10-21 09:43:28

在发布版本中禁用OSLog

您可以创建一个全局函数,如:

代码语言:javascript
复制
func customLogger(_ category: String) -> OSLog {
#if DEBUG
    return OSLog(subsystem: Bundle.main.bundleIdentifier!, category: category)
#else
    return OSLog.disabled
#endif
}

有关更详细和更高级的场景,请查看苹果的官方文件

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64094279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档