4

我已经通过命令行成功为我正在为其开发插件的 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)的命令行,或者如何Plugin.zip从 Apple 获取文件以将其分发到我的网站上?

更新:

事实证明,您可以对 .zip 文件进行公证,但不能装订它。所以我决定创建一个 .pkg 来分发我的插件,而不是通过 zip 文件分发。

这是我成功公证和装订我的插件所遵循的步骤,假设我的插件名称是FileConvertor.PluginExtension

  1. 对要包含在安装程序中的二进制文件进行代码签名。codesign --sign "Developer ID Application: Developer Name" --verbose=4 --deep --force --strict FileConvertor.PluginExtension
  2. 创建您的安装程序 (.pkg) 添加上述代码签名.PluginExtension
  3. 现在使用安装程序证书签署您的安装程序。productsign --sign "Developer ID Installer: Developer Name" ./FileConvertor.pkg ./FileConvertorSigned.pkg
  4. 发送已签名的安装程序进行公证xcrun altool --notarize-app --primary-bundle-id "com.demo.plugin" --username xyz@abc.com" --password "xxxx-xxxx-xxxx-xxxx" --file FileConvertorSigned.pkg
  5. 如果公证成功,请装订您的安装程序xcrun stapler staple FileConvertorSigned.pkg
  6. 在网络上分发您的安装程序
4

2 回答 2

3

您无需从 Apple 下载您的 plugin.zip - 只需使用您最初上传给他们的相同存档即可。你是真正将公证票钉在你正在公证的任何东西上的人。

我自己没有用 .zip 尝试过,但这是从文档中拼凑起来的过程。

在分发之前对您的应用程序进行公证说:

公证您现有的软件

[...]

  1. 将您的软件上传到 Apple 公证服务,如将您的应用程序上传到公证服务中所述。

你已经完成了这一步。

  1. 将退回的票据装订到您现有的软件中,如将票据装订到您的发行版中所述。

您必须将公证票附加到您分发的任何内容上,这样即使没有网络连接,Gatekeeper 也可以找到它。通常,您使用该stapler工具来执行此操作:

xcrun stapler staple MyApp.app

但是,订书机不支持 zip 文件。定制公证工作流程说:

虽然您可以对 ZIP 存档进行公证,但您不能直接将其装订。相反,对您最初添加到存档中的每个单独项目运行订书机。然后创建一个新的 ZIP 文件,其中包含用于分发的装订项目。

所以; 展开您的 .zip 并stapler staple {filename}针对其中包含的每个项目运行。然后为装订内容创建一个新的 .zip 存档。

于 2019-11-12T23:21:02.293 回答
1

Apple 不会从公证处退回任何东西。您签名的文件在签名中有一个唯一的 ID,Apple 已经存储了该 ID。经公证后,下载的签名文件将被接受。

于 2019-11-13T06:24:47.160 回答