无法在 MacO 上公证(代码签名)Electron Node.js 应用程序

Bha*_*uvu 7 macos node.js electron electron-forge electron-packager

我尝试使用 Electron forge 公证(代码签名)Electron Node.js 应用程序,按照Electron forge 官方指南中提到的选项使用应用程序特定的密码将其提交到 Mac App Store(MAS) ,但遇到错误 - “无法使用代码装订您的申请:66。无法下载票证。必须设置 CDHash。”

\n

我的应用程序的 forge.config.js 文件如下(确保 appleId、appleIdPassword、teamId 准确):

\n
module.exports = {\n  packagerConfig: {\n    osxSign: {},\n    osxNotarize: {\n      tool: \'notarytool\',\n      appleId: \'******\',\n      appleIdPassword: \'******\',\n      teamId: \'******\',\n    }\n  },\n  rebuildConfig: {},\n  makers: [\n    {\n      name: \'@electron-forge/maker-squirrel\',\n      config: {},\n    },\n    {\n      name: \'@electron-forge/maker-zip\',\n      platforms: [\'darwin\'],\n    },\n    {\n      name: \'@electron-forge/maker-deb\',\n      config: {},\n    },\n    {\n      name: \'@electron-forge/maker-rpm\',\n      config: {},\n    },\n  ],\n};\n
Run Code Online (Sandbox Code Playgroud)\n

我的 Node.js 应用程序的 package.json 具有如下脚本:

\n
  "scripts": {\n    "start": "electron-forge start",\n    "package": "electron-forge package",\n    "make": "electron-forge make"\n  },\n
Run Code Online (Sandbox Code Playgroud)\n

但是在执行 npm run make 进行代码签名并生成应用程序时,多次重试时反复遇到以下错误:

\n
An unhandled rejection has occurred inside Forge:\nError: Failed to staple your application with code: 66\n\nProcessing: /private/var/folders/h3/vkfpv17950z45hg1z5tjfq000000gn/T/electron-packager/darwin-x64/myapp-darwin-x64-wgLqgW/myapp.app\nProperties are {\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0NSURLIsDirectoryKey = 1;\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0NSURLIsPackageKey = 1;\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0NSURLIsSymbolicLinkKey = 0;\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0NSURLLocalizedTypeDescriptionKey = Application;\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0NSURLTypeIdentifierKey = "com.apple.application-bundle";\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0"_NSURLIsApplicationKey" = 1;\n}\nProps are {\n}\nCannot download ticket. CDHash must be set.\nat Object.<anonymous> (/path/myapp/node_modules/@electron/notarize/lib/staple.js:22:19)\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0at Generator.next (<anonymous>)\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0at fulfilled (/path/myapp/node_modules/@electron/notarize/lib/staple.js:4:58)\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n
Run Code Online (Sandbox Code Playgroud)\n

您能帮忙调试一下失败的原因吗?

\n