旧XCProject项目在Xcode 13环境下os_log日志无输出问题
Xcode 13 RC 下os_log无控制台输出问题解决方案
根因说明
Xcode 13 RC 版本默认修改了调试会话的os_log输出策略,默认屏蔽非错误/故障级别的日志输出,同时新增了严格的日志编译校验规则,旧版本正常输出的日志会被默认拦截。
可行解决方案
- 调整控制台过滤规则
确认控制台左上角的过滤选项未选中「仅问题和崩溃」,切换为「全部」或「调试器输出」,清空过滤输入框内的所有关键词后重新测试。 - 修改项目编译配置
打开项目Build Settings面板:- 搜索
Other C Flags,添加配置项-DOS_LOG_SPI=1 - 搜索
Swift Compiler - Custom Flags,在Other Swift Flags中添加-D OS_LOG_DISABLE_STRICT_MODE
- 搜索
- 强制开启日志输出
调试运行项目后,在lldb控制台执行命令log enable --level default os强制全局开启os_log输出。 - 验证最简调用是否正常
你当前使用的公开日志标记%{public}@配置正确,不会因隐私规则被隐藏,可以先替换为最简调用测试基础输出能力:os_log("test log output", log: .default, type: .info)
内容的提问来源于stack exchange,提问作者SreekanthI
相关产品推荐
相关产品推荐

