You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用命令行工具签名后App Extension无法启动问题咨询

macOS App Extension签名后无法启动问题排查

问题现象

我们近期遇到一个问题:使用codesign签名App Bundle中的App Extension后,扩展无法启动。推测原因要么是主应用因签名/安全问题无法加载扩展,要么是系统因签名错误直接终止了扩展进程。

复现步骤

  • 创建包含任意App Extension(测试过FinderSync和Share类型)的主应用
  • 使用xcodebuild命令归档并导出应用(通过Xcode导出也可)
  • 对应用容器(.app)及扩展(Contents/PlugIns下的.appex文件)进行签名
  • 打开主应用,发现扩展在偏好设置中不可见且未运行

核心矛盾

不对App Extension签名时,主应用与扩展均可正常启动,但这不符合发布要求——未签名的扩展会导致公证(notarization)失败;而签名后扩展无法随主应用启动,推测是macOS Gatekeeper在启动时直接终止了扩展,但暂未明确具体原因。

演示项目

我们准备了一个极简演示项目,包含一个近乎空的主应用和默认App Extension(仅修改myFolderURL为/用于测试)。项目附带两个脚本:一个用于完整签名应用及扩展,另一个仅签名主应用。使用前需将脚本中的XXXXXX替换为你的Developer ID Application证书名称。

演示项目复现步骤

  • 运行未签名版本,点击按钮打开偏好设置确认扩展已添加
  • 删除应用(确保测试签名版本时扩展不会残留于偏好设置)
  • 打开签名扩展的应用,查看偏好设置会发现扩展不在列表中,也可通过Activity Monitor或top命令验证扩展未运行

演示项目托管于GitHub仓库。

总结疑问

签名App Extension(演示中为Finder Sync)后,扩展无法启动或被终止;未签名则一切正常。我们认为问题可能出在签名、公证、Gatekeeper,或是构建/签名自动化流程存在疏漏,想确认是否因扩展处理逻辑特殊而遗漏了步骤?

内容的提问来源于stack exchange,提问作者Elia Schenker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 08:55:18