K快连 VPN
踩坑复盘 2026-08-07 · 阅读时长 5 分钟

macOS 14.6 一开快连就闪退:36 小时排查全过程

8 月 4 日晚 7 点开始,社区一连串收到 macOS 14.6 用户反馈——点击客户端图标秒退,重装没用。我们临时拉了 3 个人开排查群,36 小时后定位到 Apple 偷偷升级了 Network Extension 的签名校验策略。这篇把整个流程贴出来,对其他 macOS 开发者可能有用。

macOS 14.6 闪退排查

第 1 小时:反馈开始冒出来

18:00 左右,官方社区、Telegram 群、客服工单三个渠道同时开始涌入反馈。半小时内攒了 7 份,反馈内容高度一致:「macOS 14.6 上点客户端就闪退,重装也没用」。我们拉了 macOS 端负责人 @周以安、我、和一个 SRE 兄弟,3 人排查群立即开起来。

第 6 小时:定位到 Network Extension 起不来

让用户帮忙跑 Console.app 拉崩溃日志,捞上来的关键信息是这样的:

Exception Type:        EXC_CRASH (Code Signature Invalid)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Termination Reason:    Namespace CODESIGNING, Code 0x1

「Code Signature Invalid」是关键。一般出现这个说明系统对某个二进制做了签名校验,发现不匹配。但奇怪的是:8.5.4 在 14.5 上跑得好好的,签名我们也没动过。

第 12 小时:翻 Apple 文档发现蛛丝马迹

扒 Apple Developer 文档的时候,发现 14.6 在 7 月底悄悄改了 Network Extension 的签名校验逻辑——从「首次安装时校验一次」改成「每次启动都校验」。这个改动没公开发布 changelog,是静默更新。

关键差异:14.5 之前我们的 Network Extension 扩展在 8.5.4 发布那天(2026-06-08)过了一次 Apple Notarization 公证,签名有效期一年。但 14.6 升级了校验策略——会同时校验「扩展二进制 + 主程序」二者的签名是否同源。

第 24 小时:定位「同源」校验失败原因

深挖下去发现问题:8.5.4 的 Network Extension 扩展(路径 KuaiLianVPN.app/Contents/PlugIns/KuaiLianNE.appex)用的是「主程序签名 + 独立 Team ID 签名」双签名模式。14.5 之前 macOS 认这种模式,14.6 要求「必须是同一个签名证书链」。

8.5.4 的扩展签的是「Apple Developer ID Application: KuaiLian Inc. (TEAMID1234)」,主程序签的是「Apple Developer ID Application: KuaiLian Pte. Ltd. (TEAMID5678)」。14.5 之前 macOS 不做这个一致性检查;14.6 加上了。

第 36 小时:修法 + 发布

修法分两步:

  1. 重新申请统一 Team ID 证书,让主程序和 Network Extension 扩展共用同一个 Apple Developer ID 签
  2. 过 Apple Notarization 公证后重新打包 8.5.5 / 8.6.0

8 月 5 日 06:00 发了 8.5.5 紧急修复版;8 月 6 日 14:00 发了 8.6.0(带 Network Extension 优化);8 月 22 日发了 8.6.2 正式版(再加其他升级)。

复盘:3 个值得记一下的教训

  1. Apple 静默更新很危险:14.6 的签名校验策略升级没公开说明,开发者根本无从提前准备。建议每次 macOS 大版本更新后立即跑一遍全平台兼容性测试。
  2. 双签名是临时的妥协:当时选双签名是为了兼容老版本 macOS,但埋了一致性风险。8.6.2 之后我们统一了签名证书链。
  3. 崩溃日志要会看:Code Signature Invalid + Namespace CODESIGNING 这俩关键词一组合,几乎可以确定是签名问题。下次遇到可以快很多定位。

如果 8.6.2 发布前你就撞上了,临时解法

老版本撞上 macOS 14.6 闪退,下面这个方法能临时救一下:

  1. 打开「系统设置 → 隐私与安全性」
  2. 滚到底找「快连VPN 被阻止使用系统扩展」
  3. 点「仍要打开」并输入开机密码
  4. 重启客户端就行

这只是绕过签名校验,性能和稳定性都不如正常状态。强烈建议直接升 8.6.2,省心。

周以安 ・ 快连 macOS 端

8 年 macOS 客户端开发,2019 年加入快连,之前在 VMware Fusion 团队干过。喜欢研究 Apple 各种反人类的设计。