背景
已经在自己mac电脑上做过一个客户端应用,并且成功签名、公正。 现在要开发第二个应用,需要对第二个应用进行签名和公正。 以此记录,方便备查。 若想查看前期的准备详情及操作步骤,请参考
【Electron】macOS - electron-egg应用如何做公证(notarization)本篇主要介绍ele - 掘金
前期准备
1 申请开发者账号

2 创建 Developer ID 证书。
- 此处需要注意,如果不仅仅是签名APP,还想签名安装包的话,需要两个证书(Developer ID Application/Developer ID Installer)。在创建证书时,需要注意勾选必要的扩展服务。

本次操作
1 新建appId.
- 每一个appId对应着一个应用,多个应用的appId必须不一样。自动升级或者版本查询时appId核心是关键信息。
- 有几个应用就必须有几个appId.
- -生成的这个id就是你应用的appId。要注意打包应用后不能随意更改新的appId字段。否则会被认为是两个不同的应用而无法更新 。下图中的id就是你生成的id,这两个要一样!
2. 新建app专用密码。为你的账号生成一个特定于应用程序的密码。点击查看生成App专用密码的方法教程。 生密码成界面如图所示
如何生成 App 专用密码
- 在 account.apple.com 上,登录你的 Apple 账户。
- 在"登录和安全"部分中,选择"App 专用密码"。
- 选择"生成 App 专用密码",然后按照屏幕上的步骤操作。
3 代码中配置参数
js
1 build.json中appId,copyright等。
2 build/notarization/notarize.js中关于公正的参数:
const result = await notarize({
appBundleId: "com.xxxxxxxx.xxxxxx",
appPath: `${appOutDir}/${appName}.app`, //打包后的放置app文件的命名和路径【固定写法】
appleId: "开发者账户",
appleIdPassword: "xxxx-xxxx-xxxx-xxxx", // 申请的app专用密码
ascProvider: "开发组Id(teamId)",
tool: "notarytool", // 公证工具 固定写法
teamId: "开发组Id(teamId)",
});
4 代码打包
js
npm run ce-build-arm64-xxxx