返回

如何让Electron应用在macOS上获得公证?详细步骤与指南

前端

一、前言

随着macOS 10.14.5的发布,苹果开始要求所有在App Store之外分发的应用程序必须经过公证。公证是一个安全检查过程,可以确保应用程序没有恶意软件或其他有害内容。

对于Electron应用来说,公证是必不可少的。因为Electron应用通常是跨平台的,这意味着它们可以在Windows、macOS和Linux上运行。但是,macOS对应用程序的安全要求很高,因此Electron应用在macOS上运行必须经过公证。

二、生成公证请求

要为Electron应用生成公证请求,您需要使用Apple的命令行工具xcrun。首先,请确保您已安装了Xcode。如果您还没有安装Xcode,可以从Apple的网站下载。

安装好Xcode后,打开终端并输入以下命令:

xcrun notarytool create-request --key "/path/to/private_key.p8"

其中,/path/to/private_key.p8是您Apple开发者证书的私钥文件。

执行此命令后,终端将提示您输入您的Apple ID和密码。输入您的信息后,终端将生成一个公证请求文件。该文件通常名为request.json,它包含了您应用程序的信息,例如应用程序的名称、版本和大小。

三、提交公证请求

生成公证请求文件后,您需要使用altool来提交请求。altool是苹果的另一个命令行工具,它可以用于管理App Store Connect和公证服务。

要提交公证请求,请打开终端并输入以下命令:

altool --notarize-app --primary-bundle-id "com.example.myapp" --username "your_apple_id" --password "your_apple_id_password" --file "request.json"

其中,com.example.myapp是您应用程序的Bundle ID,your_apple_id是您的Apple ID,your_apple_id_password是您的Apple ID密码,request.json是您之前生成的公证请求文件。

执行此命令后,altool将提交您的公证请求。公证过程可能需要一些时间,具体取决于您应用程序的大小和复杂程度。

四、下载公证后的应用程序

公证完成后,您就可以下载公证后的应用程序了。要下载公证后的应用程序,请打开终端并输入以下命令:

altool --notarize-app --primary-bundle-id "com.example.myapp" --username "your_apple_id" --password "your_apple_id_password" --file "request.json" --output "notarized.app"

其中,com.example.myapp是您应用程序的Bundle ID,your_apple_id是您的Apple ID,your_apple_id_password是您的Apple ID密码,request.json是您之前生成的公证请求文件,notarized.app是您要保存公证后应用程序的路径。

执行此命令后,altool将下载公证后的应用程序。您可以在您指定的路径中找到该应用程序。

五、注意事项

在进行公证时,您需要注意以下几点:

  • 您必须使用有效的Apple开发者证书来生成公证请求。
  • 您的应用程序必须符合苹果的公证指南。
  • 公证过程可能需要一些时间,具体取决于您应用程序的大小和复杂程度。
  • 公证后的应用程序只能在macOS 10.14.5或更高版本上运行。

六、常见问题

1. 公证需要多长时间?

公证过程可能需要一些时间,具体取决于您应用程序的大小和复杂程度。一般来说,小型应用程序的公证过程只需要几分钟,而大型应用程序的公证过程可能需要几个小时。

2. 公证费用是多少?

公证是免费的。

3. 公证后的应用程序可以在哪里运行?

公证后的应用程序只能在macOS 10.14.5或更高版本上运行。

4. 公证后的应用程序是否需要重新公证?

是的。如果您对应用程序进行了修改,则需要重新公证。

七、总结

本文介绍了如何为Electron应用生成公证请求、提交公证请求以及下载公证后的应用程序。公证是Electron应用在macOS上运行的必要条件,因此请务必按照本文中的步骤进行操作。