macOS公证和多个嵌入式工具/捆绑包

时间:2019-06-16 01:23:38

标签: macos notarize

我的产品是System Pref Pane,其中包含多个嵌入式应用程序来完成其工作,其中包括:

  • 仅背景渲染器。
  • 用于处理菜单状态项的应用。
  • 由于“系统偏好设置”可能未运行,因此需要检查更新的应用。
  • 仅将System Pref Pane复制到适当位置的安装程序(之所以需要这样做是因为代码签名错误阻止了prefPane的直接分发)。
  • 一个unix可执行文件重新启动工具,用于在更新期间处理加载到“系统偏好设置”中。似乎不可能将公证作为主要内容。

我在Xcode中有一个很好的脚本,将所有这些打包在一起。借助公证,我现在是否需要从最深层次开始分别对每一个公证?听起来这很麻烦,因为要进行自动延迟很难满足Apple要求的延迟/轮询。

公证最外面的容器就足够了吗?

我正在寻找其他人的建议,这些人在一个应用程序包中具有多个可执行文件,以处理公证。

2 个答案:

答案 0 :(得分:1)

可以首先对每个嵌套的助手应用程序进行代码签名,并使用--preserve-metadata对外部应用程序进行深度代码签名。然后,可以对外部应用进行公证。如果您创建一个包含可执行文件,Info.plist以及可能的Entitlements.plist的迷你捆绑包文件夹,则可以对unix可执行文件进行代码签名。您无法对捆绑软件的ditto .zip和小型捆绑软件stapler staple进行公证。但是我发现具有继承的安全性,只要外部应用程序需要公证人,只要内部应用程序保留其各自的子应用程序代码签名元数据即可。

答案 1 :(得分:0)

您不能公证顶级软件包(zip,dmg,pkg) 来自Apple Document

  

公证服务接受磁盘映像(UDIF格式),已签名平   安装程序包和ZIP归档文件。 它处理嵌套容器   ,例如磁盘映像中的软件包。