首页 > 解决方案 > os.Logger (os_log) 忽略新的隐私字符串插值

问题描述

在 iOS 14 模拟器上使用以下代码,所有日志语句都以明文形式打印。没有编辑或散列发生。无论是在 Xcode 控制台中,还是在 Mac 上的 Console.app 中。

是否需要其他任何东西来测试编辑是否有效?

let email = "apple@stackoverflow.com"
let logger = Logger()
logger.log("\(email, privacy: .auto)")
logger.log("\(email, privacy: .auto(mask: .hash))")
logger.log("\(email, privacy: .private)")
logger.log("\(email, privacy: .private(mask: .hash))")

标签: swiftios14

解决方案


您正在使用模拟器执行此操作。它仅适用于在物理设备上运行时。

此外,设备不得连接到调试器。

例如,当我在连接到调试器时观看它时,这是控制台:

在此处输入图像描述

当您在未连接到调试器的物理设备上运行此代码并在 macOS 控制台上观看时,您将看到:

在此处输入图像描述


推荐阅读