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

Electron 11.5.0应用公证失败:altool已停用需改用notarytool

解决Apple公证altool停用导致的Electron构建报错问题

核心原因

Apple在2024年4月正式停用了用于应用公证的altool工具,要求改用notarytool,而你当前使用的electron-builder 22.x和electron-notarize 1.0.0版本仅支持altool,因此触发报错。

修复步骤

1. 更新依赖包

需要升级到支持notarytool的版本:

  • electron-builder至少升级到23.6.0(该版本开始原生支持notarytool)
  • electron-notarize至少升级到2.0.0(适配notarytool的版本)

执行命令更新:

npm install electron-builder@^23.6.0 electron-notarize@^2.0.0 --save-dev

2. 调整公证配置

旧版的electron-notarize配置基于altool,需要修改为notarytool兼容格式:

原旧版配置示例:

require('electron-notarize').notarize({
  appBundleId: "com.your.app.id",
  appPath: "./dist/mac/YourApp.app",
  appleId: "your-apple-id@example.com",
  appleIdPassword: "your-app-specific-password"
})

修改为适配notarytool的配置:

require('electron-notarize').notarize({
  appBundleId: "com.your.app.id",
  appPath: "./dist/mac/YourApp.app",
  tool: "notarytool",
  appleId: "your-apple-id@example.com",
  appleIdPassword: "your-app-specific-password",
  teamId: "your-apple-team-id" // notarytool强制要求填写团队ID
})

3. 验证本地环境

确保你的Mac满足以下条件:

  • macOS版本至少为12.0(notarytool依赖该系统版本)
  • Xcode命令行工具已更新至最新,执行以下命令检查/安装:
xcode-select --install
xcodebuild -version

4. 重新构建

执行构建命令(无需sudo,避免权限冲突):

npm run dist

额外注意事项

  • 若electron 11.5.0版本过旧,可能与新版electron-builder存在兼容性问题,建议同步升级Electron到14.x及以上的LTS版本
  • 苹果应用专用密码(appleIdPassword)需在Apple ID管理页面生成,不能直接使用Apple ID的登录密码

内容的提问来源于stack exchange,提问作者Narasimhamoorthy L R

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 20:15:06