我已经通过命令行为我正在为其开发插件的Mac应用程序公证了一个插件。该插件旨在在Mac应用商店之外分发。
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
.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
答案 0 :(得分:1)
您无需从Apple下载您的plugin.zip-只需使用最初上传给他们的相同存档即可。您实际上是将公证票证钉在正在公证的任何东西上的人。
我自己还没有使用.zip进行尝试,但这是文档中拼凑的过程。
Notarizing Your App Before Distribution说:
通知您现有的软件
[...]
- 按照将您的应用程序上载到公证服务中的说明将软件上载到Apple公证服务。
您已经完成了此步骤。
- 按照装回您的发行单中的说明,将退回的票证装到您现有的软件中。
您必须将公证票证附加到您要分发的任何证件上,以便Gatekeeper即使没有网络连接也可以找到它。通常,您使用stapler
工具执行此操作:
xcrun stapler staple MyApp.app
但是,装订器不支持zip文件。 Customizing the Notarization Workflow说:
虽然您不能对ZIP存档进行公证,但无法直接对其进行装订。而是对最初添加到存档中的每个单独的项目运行装订器。然后创建一个新的ZIP文件,其中包含装订项目以供分发。
所以;展开您的.zip文件,并对其中包含的每个项目运行stapler staple {filename}
。然后为装订的内容创建一个新的.zip存档。
答案 1 :(得分:1)
Apple不从公证处退回任何款项。您签名的文件在Apple中已经存储了签名中的唯一ID。经过公证的签名文件可以被下载。