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

Electron打包Mac App Store应用时签名链构建失败求助

解决Electron打包MAS时的"unable to build chain to self-signed root for signer"错误

针对你遇到的证书链构建失败问题,以下是针对性的排查和修复步骤:

1. 确认证书链的完整性与信任设置

  • 打开钥匙串访问,切换到「系统」钥匙串,找到你的3rd Party Mac Developer Application: name (teamid)证书。右键选择「显示简介」,在「信任」选项卡中,将「使用此证书时」设置为系统默认,不要手动设置为「总是信任」(手动信任会破坏证书链验证逻辑)。
  • 检查Apple Root CA根证书和2023年版的Apple Worldwide Developer Relations Certification Authority证书是否安装在「系统」钥匙串中,且状态为「已信任」。若缺失,直接从Apple开发者平台下载官方版本并安装到系统钥匙串。

2. 核对Provisioning Profile与证书的匹配性

  • 用文本编辑器打开你的MAS_Profile.provisionprofile文件,查找DeveloperCertificates字段,将其中的证书哈希值与钥匙串中对应证书的SHA-1哈希(右键证书→「获取信息」→「SHA-1」字段)对比,确保两者完全一致。
  • 确认该Provisioning Profile为Mac App Store分发类型,且绑定的Bundle ID与Electron配置中的appId完全匹配,无拼写错误。

3. 修正Electron Build配置细节

  • 将build.json中的identity字段替换为证书的完整名称,即错误日志中显示的3rd Party Mac Developer Application: name (teamid),确保字符串完全匹配,不要使用占位符。示例:
    "identity": "3rd Party Mac Developer Application: Your Name (XXXXXXXXX)"
    
  • 检查entitlements.mas.plist文件,确保包含MAS必需的权限,核心配置示例:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
      <key>com.apple.security.app-sandbox</key>
      <true/>
      <key>com.apple.security.application-groups</key>
      <string>TEAMID.your.bundle.id</string>
    </dict>
    </plist>
    
    注意application-groups的值要与Provisioning Profile中配置的一致,不要添加不必要的权限。

4. 清理缓存并重新构建

  • 删除Electron Builder的缓存目录:
    rm -rf ~/.cache/electron-builder
    
  • 删除本地的dist文件夹,重新执行构建命令:
    npm run build:mas
    
  • 构建前确保「登录」钥匙串中没有同名证书,避免钥匙串冲突,只保留「系统」钥匙串中的有效MAS证书。

5. 命令行验证证书链

  • 列出所有有效的代码签名证书,确认你的MAS证书在列表中:
    security find-identity -v -p codesigning
    
  • 手动尝试签名应用,获取更详细的错误信息:
    codesign -vvv --deep --strict dist/mas-arm64/myApp.app
    
    该命令会输出证书链验证的具体问题,帮助定位根源。

内容的提问来源于stack exchange,提问作者Sushant Gupta

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 08:40:11