我已成功通过命令行为我正在开发插件的 Mac 应用程序公证了一个插件。该插件旨在在 Mac appstore 以外分发。
xcrun altool --notarize-app --primary-bundle-id "com.demo.bundle.id" --username "email@abc.com" --password "xxx-x-xxxx-xx" --file Plugin.zip
收到一封电子邮件,确认已成功公证。邮件中有关于如何导出分发的说明,但这是基于 XCode UI 的指令,而我是通过命令行进行公证的,所以这些指令不适用于我。是否有一个命令行可以下载已公证的文件 (
Plugin.zip
) 或者我该如何从 Apple 获取 Plugin.zip
文件以在我的网站上分发它?
更新:
事实证明,你可以公证一个 .zip 文件,但却无法将其取消标记。因此,我决定创建一个 .pkg 来分发我的插件,而不是通过 zip 文件进行分发。以下是我成功公证并取消标记我的插件所采用的步骤,假设我的插件名称为
FileConvertor.PluginExtension
:
- 对要包含在安装程序中的二进制文件进行代码签名:
codesign --sign "Developer ID Application: Developer Name" --verbose=4 --deep --force --strict FileConvertor.PluginExtension
- 创建你的安装程序 (.pkg),并添加上述代码签名的
.PluginExtension
- 现在使用安装程序证书签署你的安装程序:
productsign --sign "Developer ID Installer: Developer Name" ./FileConvertor.pkg ./FileConvertorSigned.pkg
- 将签署的安装程序发送进行公证:
xcrun altool --notarize-app --primary-bundle-id "com.demo.plugin" --username xyz@abc.com" --password "xxxx-xxxx-xxxx-xxxx" --file FileConvertorSigned.pkg
- 如果成功公证,取消标记你的安装程序:
xcrun stapler staple FileConvertorSigned.pkg
- 在网上分发你的安装程序