【Electron】macOS发布第二个应用(签名+公正部分)

118 阅读2分钟

背景

已经在自己mac电脑上做过一个客户端应用,并且成功签名、公正。 现在要开发第二个应用,需要对第二个应用进行签名和公正。 以此记录,方便备查。 若想查看前期的准备详情及操作步骤,请参考

【Electron】macOS - electron-egg应用如何做公证(notarization)本篇主要介绍ele - 掘金

前期准备

1 申请开发者账号

image.png

2 创建 Developer ID 证书。

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

image.png

本次操作

1 新建appId.

  • 每一个appId对应着一个应用,多个应用的appId必须不一样。自动升级或者版本查询时appId核心是关键信息。
  • 有几个应用就必须有几个appId.
  • -生成的这个id就是你应用的appId。要注意打包应用后不能随意更改新的appId字段。否则会被认为是两个不同的应用而无法更新。下图中的id就是你生成的id,这两个要一样! image.png

2. 新建app专用密码。为你的账号生成一个特定于应用程序的密码。点击查看生成App专用密码的方法教程。 生密码成界面如图所示

如何生成 App 专用密码
  1. 在 account.apple.com 上,登录你的 Apple 账户。
  2. 在“登录和安全”部分中,选择“App 专用密码”。
  3. 选择“生成 App 专用密码”,然后按照屏幕上的步骤操作。

3 代码中配置参数

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 代码打包

npm run ce-build-arm64-xxxx