Files
openless/.github/workflows
eb099c4f41 build(macos): 校验打包产物声明语音识别用途 (#825)
* build(macos): 校验打包产物声明语音识别用途

build-mac.sh 已在校验 NSMicrophoneUsageDescription 与 audio-input
entitlement,但 Apple Speech provider 引入的 NSSpeechRecognitionUsage-
Description 没有对应护栏。该 key 一旦缺失,构建静默成功,而选择
apple-speech 的用户会在调用 Speech.framework 时被 macOS TCC 以 SIGABRT
直接杀掉进程(崩溃报告 termination namespace = TCC)。

对打包产物 .app/Contents/Info.plist(而非源码 Info.plist)新增一行
PlistBuddy 校验:脚本开头的 set -euo pipefail 会让 key 缺失时非零退出、
当场中止构建。key 存在时输出被丢弃,行为与现在完全一致,产物逐字节不变。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(macos): enforce speech usage description contract

* fix(macos): reject Unicode-only speech descriptions

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: sim <sim@local>
2026-07-15 15:26:48 +08:00
..
2026-05-31 21:32:21 +08:00