如何从苹果下载经过公证的文件?

5

我已成功通过命令行为我正在开发插件的 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
  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. 在网上分发你的安装程序
2个回答

3

您不需要从Apple下载plugin.zip-只需使用您最初上传到Apple的相同存档文件即可。实际上,您是将验章票据钉在您要签署的任何东西上的人。

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

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

对现有软件进行公证

[...]

  1. 按照在将应用程序上传到公证服务中所述的方式将您的软件上传到Apple公证服务。

您已经完成了此步骤。

  1. 将返回的票据附加到您的现有软件上,如将票据附加到您的发布所述。

您必须将验章票据附加到您要分发的任何内容上,以便Gatekeeper即使没有网络连接也能够找到它。通常使用stapler工具来完成此操作:

xcrun stapler staple MyApp.app

然而,订书机不支持zip文件。 自定义公证工作流程说:

虽然您可以公证ZIP存档文件,但无法直接将其钉在上面。相反,请对最初添加到存档文件中的每个单独项目运行stapler。然后创建一个包含已装订项目以进行分发的新ZIP文件。

因此,请展开您的.zip文件,并在其中包含每个项目上运行 stapler staple {filename} 。然后创建一个新的已装订内容的.zip存档文件。

明白了,感谢指引,现在已经解决了,详细信息请查看我的帖子更新。 - joke4me

2

苹果未返回任何有关认证的信息。您签名的文件包含一个唯一的ID,苹果已将其存储在签名中。一旦完成认证,如果下载该签名文件,则会被接受。


明白了,感谢指引,现在已经解决了,详见我的帖子更新。 - joke4me

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接