如何从 Apple 下载经过公证的文件?
How to download notarized files from Apple?
我已经通过命令行为我正在为其开发插件的 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
收到一封电子邮件,表明它已成功公证,并且电子邮件中有 instructions 关于如何导出以进行分发的信息。但是,这是 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
- 在网络上分发您的安装程序
您不从 Apple 下载您的 plugin.zip - 只需使用您最初上传给他们的相同存档。您是真正将公证单钉在您要公证的任何东西上的人。
我自己还没有用 .zip 尝试过,但这是从文档中拼凑出来的过程。
Notarizing Your App Before Distribution 说:
Notarize Your Preexisting Software
[...]
- Upload your software to the Apple notary service, as described in Upload Your App to the Notarization Service.
您已经完成了这一步。
- Staple the returned ticket to your existing software, as described in Staple the Ticket to Your Distribution.
您必须将公证票附加到您分发的任何内容上,这样 Gatekeeper 即使没有网络连接也能找到它。通常您使用 stapler
工具来执行此操作:
xcrun stapler staple MyApp.app
但是,订书机不支持 zip 文件。 Customizing the Notarization Workflow 说:
While you can notarize a ZIP archive, you can’t staple to it directly. Instead, run stapler against each individual item that you originally added to the archive. Then create a new ZIP file containing the stapled items for distribution.
所以;针对其中包含的每个项目展开 .zip 和 运行 stapler staple {filename}
。然后创建装订内容的新 .zip 存档。
Apple 不会return 任何来自公证的内容。您签名的文件在签名中有一个唯一的 ID,Apple 已存储该 ID。公证后,如果下载,则接受签名文件。
我已经通过命令行为我正在为其开发插件的 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
收到一封电子邮件,表明它已成功公证,并且电子邮件中有 instructions 关于如何导出以进行分发的信息。但是,这是 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
- 在网络上分发您的安装程序
您不从 Apple 下载您的 plugin.zip - 只需使用您最初上传给他们的相同存档。您是真正将公证单钉在您要公证的任何东西上的人。
我自己还没有用 .zip 尝试过,但这是从文档中拼凑出来的过程。
Notarizing Your App Before Distribution 说:
Notarize Your Preexisting Software
[...]
- Upload your software to the Apple notary service, as described in Upload Your App to the Notarization Service.
您已经完成了这一步。
- Staple the returned ticket to your existing software, as described in Staple the Ticket to Your Distribution.
您必须将公证票附加到您分发的任何内容上,这样 Gatekeeper 即使没有网络连接也能找到它。通常您使用 stapler
工具来执行此操作:
xcrun stapler staple MyApp.app
但是,订书机不支持 zip 文件。 Customizing the Notarization Workflow 说:
While you can notarize a ZIP archive, you can’t staple to it directly. Instead, run stapler against each individual item that you originally added to the archive. Then create a new ZIP file containing the stapled items for distribution.
所以;针对其中包含的每个项目展开 .zip 和 运行 stapler staple {filename}
。然后创建装订内容的新 .zip 存档。
Apple 不会return 任何来自公证的内容。您签名的文件在签名中有一个唯一的 ID,Apple 已存储该 ID。公证后,如果下载,则接受签名文件。