Apple 因我使用辅助功能 API 拒绝了我的听写应用
App Store 拒绝与辅助功能 API
- 该应用的 Mac App Store 版本因使用辅助功能(AX)API,通过合成按键(CGEventPost)自动粘贴到其他应用中,被依据指南 2.4.5 拒绝。
- 一个删减版的 App Store 版本只写入剪贴板(不申请 AX 权限;由用户按 Cmd+V)则通过了审核。
- 功能完整的版本通过开发者网站直接分发,并由 Apple 签名和公证,因此限制只是 App Store 级别的,而非整个操作系统层面的。
- 一些人提到类似经历:基于辅助功能的听写或自动化应用在 macOS 上常被拦下,但在 iOS 上有时能通过,反之亦然,审核结果并不一致。
安全、隐私与 Apple 的理由
- 许多评论者认为 Apple 严格管控辅助功能 API 是合理的,因为它实际上赋予了对整个系统的控制权:按键、光标、截图以及跨应用数据路径。
- 担忧包括恶意应用可能向敏感字段(如银行网站)粘贴内容或窃取数据。一些人强调,天真的用户会太容易授予这些权限。
- 另一些人认为,用户本来就必须明确授予 AX 权限,因此应该允许他们选择强大的工具;禁止整类应用被视为越权,甚至可能带有反竞争色彩。
辅助功能 API 的设计
- 多条评论批评该 API 过于宽泛;它迫使应用申请比实际需要更多的权限。
- 一种建议的修复方案是:把 AX 拆分为范围更窄、可分别授予的能力(例如粘贴、截图、光标控制),而不是一个“超能力”式权限。
- 反方观点是:对于某些残障用户来说,通过单一接口获得对任意对象的完全控制正是所需要的,因此拆分时不能让启用辅助技术变得过于繁琐。
平台、围墙花园与替代方案
- 这个案例引发了更广泛的封闭生态争论。一些人把它看作 Apple 控制欲强、规则不一致的 App Store 机制的又一例证,并主张开放平台和侧载。
- 另一些人则为精选商店辩护,认为它们对安全很有价值;如果用户不喜欢这些限制,可以选择别的操作系统。
- 也有人推荐 Linux 桌面,认为其灵活,支持 flatpaks、应用商店以及良好的硬件支持,但也承认兼容性仍有缺口(例如 Microsoft Office、某些游戏),而且对许多用户来说迁移成本不低。
变通方案、商业影响与开发者策略
- 建议包括:
- 把 Mac App Store 当作更强大直接下载版本的“发现 + 许可证锚点”。
- 提供受限/试用版 App Store 构建,再将用户升级到商店外的单独“专业版”应用。
- 有人分享他们会维护分别对应“App Store 安全版”和“完整版”的工具,尤其是那些依赖 AX 的工具。
- 对不透明且执行不一致的规则感到沮丧的同时,也有务实的接受:许多开发者预期会经历多次拒绝,并学会围绕 Apple 的限制来设计。