关于 Liquid Detection 的迷思

hoakley 2025年3月16日 Macs, Technology

上周我的 Mac 体验: 关于 Liquid Detection 的迷思

Macs 已经发展出了自己的神话,而这周我不经意间发现了一个一年前产生的迷思。和很多其他迷思一样,它源于一次偶然的观察,这次是关于一个在2023年10月25日出现在 macOS Sonoma 14.1 中的新的后台进程,并且在2023年11月3日被 9to5Mac 报道

发现

这个进程就是 liquiddetectiond,正如 9to5Mac 的标题所说,这意味着“Macs 现在可以通知 Apple 是否在 USB-C 端口中检测到任何液体”。那篇文章认为“这个守护进程收集的数据更有可能被技术人员用来判断 Mac 是否有资格获得免费维修。” “在 USB-C 端口上安装数字液体检测器只是确保技术人员能够正确地声称 Mac 已经接触过液体的另一种方式。”

这篇文章以及其他地方的一些相关报道,引发了一小波关于 Apple 典型的做法的评论,然后一切都安静了下来,直到 9to5Mac 的文章在 2024 年 1 月 9 日被 Hacker News 转载,并 产生了 340 条评论。不出所料,大多数评论要么指责 Apple 的行为,要么消失在关于不相关话题的兔子洞里。不过,其中有一个宝贵的见解:“它可以防止设备从任何处于这种状态的引脚上施加/消耗电力,主要是为了减少触点的腐蚀并延长使用寿命。”

到去年一月中旬,这个故事已经冷却下来,每个人肯定都带着他们最糟糕的恐惧离开了。你甚至不能再让你的 Mac 上的 USB-C 端口受潮,因为 Apple 会以此为借口使你 Mac 的保修失效。

文档

Apple 关于这个主题的第一句话似乎是在 一份支持说明 中,该说明于 2024 年 11 月 23 日发布,但基本上没有引起注意。该说明宣布液体检测是 macOS Sequoia 的一项新功能,仅在以下型号上运行:

在 9to5Mac 的报道发布时,这些型号都没有发布,尽管第二批型号在四天后,也就是 2023 年 11 月 7 日发布。

如果它们的 USB-C 插座(端口)中有液体,并且 USB-C 数据线连接到它,那么这个新的传感器应该检测到它并提醒用户,建议他们关闭 Mac,断开所有数据线并让它干燥。

这是对 Apple 称为 Liquid Contact Indicators (LCI) 的补充和分离。长期以来,LCI 一直安装在笔记本电脑 Mac 和一些 Apple 有线和无线键盘上,根据这份支持说明,“以帮助确定这些产品是否接触过液体”。

Apple 只是在找借口,还是这项新的 liquiddetectiond 服务旨在让用户受益?

证据

上周,我无意中发现了这一点,当时我在查看 Accessory Security,这是一项仅限于笔记本电脑 Apple silicon 型号的功能。 碰巧的是,我使用的笔记本电脑是 MacBook Pro M3 Pro,它是少数几款液体检测有效的设备之一。 在它的日志中,在连接了 Thunderbolt 数据线之后,它的液体检测系统在多次检查了 USB-C 端口是否干燥,在一系列日志条目中,如:

0.887 liquiddetectiond Starting LDCM Now
0.887 liquiddetectiond LDCM Discovery is enabled.
0.889 liquiddetectiond LDCM - Matched with V4...
0.890 liquiddetectiond LDCM - checkIsReceptacleEmpty: 0
0.890 liquiddetectiond LDCM - Handling LDCM interrupt event for port 2
0.890 IOAccessoryManager IOPortFeatureLDCMUserClient::_copyData(): Copying LDCM data... (target: Port-USB-C@2/LDCM)
0.890 liquiddetectiond LDCM - Feature Status: 0, Completion Status: 0, Measurement Pin: 0 Mitigations Status: 0, Wet: 0, Wet State Duration: 0
0.890 liquiddetectiond LDCM - checkIsReceptacleEmpty: 0
0.890 liquiddetectiond LDCM: liquidDetected: 0, receptacleEmpty: 0, shouldShow: 0

(时间以经过的秒数给出。)

但是在我的更新的运行 Sequoia 的 Mac mini M4 Pro 上,我所看到的只是 LDCM is not supported on this device.

尝试通过网络连接在日志中是很明显的,并且在执行液体检测的任何场合,该 MacBook Pro 都没有尝试连接到任何远程站点。 也许它的报告可以嵌入到以后传递给 Apple 的其他分析数据中,但是绝对没有证据表明 liquiddetectiond 的结果超出了我的 Mac 的范围。

这证明了测试假设和阅读日志的重要性。 即使没有 Apple 最近的支持说明,也应该很容易证明这种行为,但是似乎没有人尝试过。

解释

关于 USB-C 端口中液体检测的作用的说法也没有意义。与大多数笔记本电脑制造商一样,Apple 已经在笔记本电脑 Mac 的外壳内部的组件中内置了 Liquid Contact Indicators。 这些最常受到饮料洒在笔记本电脑键盘上的影响,导致各种水性液体从咖啡到干邑进入外壳。 这通常会导致逻辑板和其他组件的广泛损坏,而更换这些组件的成本很高。

但是,潮湿的 USB-C 端口则完全不同。 它可能发生在暴露在寒冷环境中,然后被带到温暖和更潮湿的环境中的笔记本电脑中,这与使你的眼镜起雾的条件相同。 随着时间的推移,这可能会导致 USB-C 端口中的触点腐蚀和连接不可靠。

因为每个 macOS 版本在所有 Mac 型号上都是相同的,尽管只有少数最新型号在它们的 USB-C 端口中具有液体检测传感器,所以 liquiddetectiond 服务在运行 Sequoia 的所有 Mac 的后台运行。 它可以在 /System/Library/CoreServices/liquiddetectiond.app 内部找到,它甚至不是一个捆绑包,只是它的 Mach-O 二进制文件和一个显示的警告标志的图像。 它通过它的 LaunchDaemon com.apple.liquiddetectiond.plist 运行,你也可以在每个 Mac 的 SSV 中找到它。

通常情况下,迷思背后的真相更为平淡,并且不涉及 Apple 秘密地从你的 Mac 中捕获数据,也不涉及阴谋逃避保修维修。 实际上,如果你查看几乎所有其他笔记本电脑制造商的保修条款,它们也都排除了由液体进入造成的损坏,正如它们的 Liquid Contact Indicators 所证明的那样。 并且有些也开始在其 USB-C 端口中安装类似的液体检测传感器。 但是,不要让这些妨碍一个好的迷思。