macOS 15.8 上第三方电池充电限制软件(AlDente)失效,电量越过设定上限冲到 100%
一、问题概述
在 macOS 15.8(Apple Silicon) 上,使用第三方电池保养软件 AlDente Pro 设置"充电上限"(如 80% 或 90%)后,插电时电量不会停在设定值,而是持续充到 100%,充电限制功能完全不起作用。我已逐一验证 AlDente 的 1.37.3、1.38、1.38.1 三个版本,在 15.8 上全部失效,怀疑是 15.8 系统层面破坏了这类软件控制充电的机制,而非单个 App 的 bug。
二、设备与环境
- 机型:MacBook Pro(Apple Silicon,M2 Pro,16GB)
- 系统:macOS 15.8(Build 24H16)
- 软件:AlDente Pro,版本 1.37.3 / 1.38 / 1.38.1 均测试过
- 关键设置:chargeVal=90(或 80)、automaticDischarge=0(被动模式,不主动放电)、useTahoeNativeLimit=0(强制走 AlDente 自有 SMC 控制,而非委托系统接口)
三、已尝试的操作
- 删除并干净重装 AlDente(用 AppCleaner 清除 App、LaunchDaemon plist、PrivilegedHelperTools 及偏好文件)。
- 关闭 AlDente 的"自动更新",排除被 Sparkle 自动升回问题版本。
- 切换 useTahoeNativeLimit:先改为 0(软件自有控制),确认仍失效。
- 重启 AlDente 的特权 helper 进程,确认进程在运行、代码签名有效(codesign 通过)、LaunchDaemon 正常加载。
- 用 ioreg -rc AppleSmartBattery 实时抓取电池原始状态(详见下方证据),对比"设定上限"与"实际充电行为"。
四、观测到的现象(关键证据)
在电量到达设定上限(以 90% 为例,原始容量约 7125mAh)时,抓取 ioreg 快照:
系统电量显示从 90% 跳到 91% 并继续上涨,说明上限没有被守住。整段监控中 ChargerInhibitReason 全程为 0。
AlDente 主程序日志中出现以下报错(疑似根因):
即:主程序与后台特权 helper 之间的 XPC 通信信道发生闪断——helper 进程本身没死、签名也有效,但充电抑制指令一发出去就被切断,导致限制"生效一瞬间就丢失"。
五、根因分析(个人推断)
这类软件(AlDente / 同类写 SMC 的 App)的限制逻辑是:普通权限的菜单栏 App → 通过 XPC 把指令发给一个 root 权限的 helper → helper 写入 SMC / AppleSmartBattery 来抑制充电。
在 macOS 15.8 上,XPC 信道不稳定(日志 XPC_ERROR_CONNECTION_INTERRUPTED 可证),指令送达即丢,于是充电限制无法持久生效。由于各版本 AlDente 都依赖"特权 helper + XPC + 写 SMC"这一相同架构,降级到旧版(如 1.37.3)并不能解决——实测 1.37.3 在 15.8 上同样冲破上限。
补充:我是通过系统更新历史确认,1.37.3 此前只跑在 15.7.x 上,从未在 15.8 上验证过,因此"回退旧版"本身属于未验证的尝试,而非已知解。
六、当前可行的解决方式
- 升级到 macOS 26(Tahoe):Apple 从 macOS 26.4 起,在 Apple 芯片 Mac 上原生加入了「充电上限(Charge Limit)」——路径为「系统设置 → 电池 → 点‘充电中’旁的 ⓘ → 选 80%~100%(5% 一档)」。这是系统级硬上限,由苹果自己实现,不依赖任何第三方去写 SMC,可靠性远超第三方软件。这是目前最根本的解决方式。
- 仅做监控、不强制限制(停留在 15.8 时):用脚本/快捷指令读取电量,超过设定值就提醒自己拔电——但这只是"提醒",不是"自动掐断"。
备注:macOS 14(Sonoma)仅有"优化电池充电"(自适应、仍会充到 100%),没有手动充电上限,因此降级到 14 既不能解决电池问题,又会让可用开发工具更旧,不推荐。
七、想请教社区的问题
- 是否有其他 15.8 用户遇到第三方充电限制软件失效?是否也是 XPC_ERROR_CONNECTION_INTERRUPTED 这类 XPC 闪断?
- 这是 15.8 系统的已知回归,还是 AlDente 等软件的兼容问题?是否有 15.8 上可用的、可靠的充电限制方案(除升级 macOS 26 外)?
- 若确认是系统层面问题,是否有官方渠道可提交反馈,让充电限制(或 SMC/XPC 控制)在 15.8 上恢复可用?
MacBook Pro (M2 Pro, 2023)