在开发 Electron 应用程序时,我们可能需要签名并提交应用程序以进行 notarization。但是,这是一项相对繁琐的任务,需要考虑许多因素。npm 包 electron-notarize 可以帮助我们简化这个过程。
在本文中,我们将讨论如何使用 npm 包 electron-notarize 来轻松地将您的 Electron 应用程序提交到 Apple Notarization 服务中。
什么是 Electron-notarize?
electron-notarize 是一个 npm 包,它为 Electron 应用程序提供了一个简单的方法来自动签名和提交应用程序以进行 notarization(包括 hardened runtime 和 entitlements 等)。
使用 electron-notarize,您不必手动创建证书或执行任何其他繁琐的步骤,因为它将自动处理这些步骤。
如何使用 electron-notarize
步骤 1:安装依赖项
在开始使用 electron-notarize 之前,您需要首先安装它。您可以使用以下命令来安装它:
npm install electron-notarize --save-dev
步骤 2:准备应用程序
在将应用程序提交进行 notarization 之前,您需要准备好应用程序。要准备 app,您需要为其创建一个签名证书(如果还没有签名证书),并在钥匙串中导入该证书。
在导入证书后,您需要 sign 应用程序。应用程序包括以下内容:
- Electron 库
- 根据操作系统不同,可能还需要 .app 文件(Mac OS)或 .exe 文件(Windows)。
- 如果使用 ASAR 打包了应用程序,则需要 .asar 文件。
确保您已安装 Node.js 和 Electron,并在您的项目目录下创建一个文件夹,例如 notarize。
步骤 3:编写代码
现在,您可以从 notarize 文件夹中的任何位置编写代码以提交您的应用程序以进行 notarization。下面是一个简单的代码片段:
-- -------------------- ---- ------- ----- - -------- - - ----------------------------- --------------- - ----- -------- ------------------- - ----- - --------------------- --------- - - -------- -- --------------------- --- --------- - ------- - ----- ------- - ----------------------------------------- ------ ----- ---------- ------------ -------------------- -------- ------------------------------ -------- --------------------- ---------------- ------------------------------ --- --
步骤 4:运行代码
要运行代码,请使用以下命令:
electron-builder build --mac notarize
步骤 5:提交应用程序进行 Notarization
使用 electron-notarize 的最后一步是提交您的应用程序以进行 notarization。要完成此操作,请使用以下命令:
xcrun altool --notarize-app --primary-bundle-id "com.example.myapp" --username "your_email@example.com" --password "@keychain:application-specific-password" --file ./dist/mac/MyApp.dmg
小结
使用 npm 包 electron-notarize,您可以轻松地将 Electron 应用程序自动签名并提交以进行 notarization。这个步骤通常是相对繁琐的,但使用 electron-notarize,只需几个简单的步骤即可实现。
在实际使用 electron-notarize 时,您需要注意以下事项:
- 在打包应用程序之前,导入证书。
- 配置 package.json,以便将 notarize 函数添加到 build 属性中的钩子中。
- 提交应用程序以进行 notarization。
当您完成所有这些步骤后,您的 Electron 应用程序将自动启用 hardened runtime,并附带 entitlements。这将增加您的应用程序对 Apple 操作系统的安全性和可靠性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedc1ebb5cbfe1ea0611f8a