如何让Electron应用在macOS上获得公证?详细步骤与指南
2023-11-13 01:25:24
一、前言
随着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上运行的必要条件,因此请务必按照本文中的步骤进行操作。