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

Electron应用在macOS Big Sur 11.7.6上公证失败问题求助

macOS Big Sur 11.7.6下Electron应用公证后仍提示“身份不明开发者”的排查方案

问题背景

基于Electron v30.3.1开发的桌面应用,已完成正规Apple公证流程,但在macOS Big Sur 11.7.6版本中用户仍收到**“无法打开,因为来自身份不明的开发者”**错误提示,该问题未在新版macOS(如Ventura及以上)中出现。

已尝试的无效方案

  • 更新Electron至v33.0.0
  • 使用Apple官方notarytool工具手动提交公证
  • 更新@electron/notarize依赖至v2.5.0
  • 调整electron-builder配置,添加应用所需权限声明
  • 切换分发格式(DMG、ZIP)
  • 更新所有构建相关依赖包
  • 使用xattr -c命令清理应用扩展属性

针对性排查与解决方向

1. 验证公证有效性与时间戳

Big Sur 11.7.6对公证时间戳的验证逻辑更严格,需确保公证时使用了Apple认可的时间戳服务器。执行以下命令检查应用公证状态:

spctl -a -v /path/to/your/application.app

重点确认输出中包含accepted状态,且时间戳相关信息无异常。

2. 检查代码签名完整性

确保应用内所有嵌套框架、辅助工具均完成正确签名,且签名身份与公证身份一致。执行命令查看签名细节:

codesign -dv --verbose=4 /path/to/your/application.app

检查Authority链是否完整,无中断或不匹配的情况。

3. 强化Hardened Runtime配置

Big Sur的Gatekeeper对Electron应用的Hardened Runtime配置要求更严格,在electron-builder配置中确保:

  • 启用hardenedRuntime: true
  • 添加必要的权限 entitlements,例如配置entitlements和entitlementsInherit指向包含以下内容的plist文件:
    <?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.cs.allow-jit</key>
      <true/>
      <key>com.apple.security.cs.allow-unsigned-executable-memory</key>
      <true/>
      <key>com.apple.security.cs.disable-library-validation</key>
      <true/>
    </dict>
    </plist>
    

4. 等待公证服务器同步

Apple公证服务器在旧系统节点的同步可能存在延迟,使用notarytool重新提交公证后,等待至少24小时再分发应用,确保Big Sur的Gatekeeper服务器已同步公证记录。

5. 指导用户重置本地Gatekeeper缓存

让受影响的用户在终端执行以下命令,重置本地Gatekeeper规则后重试打开应用:

sudo spctl --reset-default

内容的提问来源于stack exchange,提问作者Michael Sizonenko

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 05:25:06