我们创建了一个包含两个不同包的 abc.pkg 安装程序;一个 def.mpkg(捆绑样式)和一个 ghi.pkg(平面包)。安装程序支持操作系统版本 10.5 及更高版本。我们已经对 abc.pkg 安装程序进行了数字签名,并根据Apple 的文档模拟了 Gatekeeper 的行为。
签名的 abc.pkg 通过 spctl 控制:
spctl -a -v --type install abc.pkg
返回:
abc.pkg:accepted
source: Developer ID
根据前面提到的文档,这意味着 Gatekeeper 将接受我们包的签名,但无法通过检查签名控制:
./check-signature ~/path_to_the_installer/abc.pkg
返回:
(c) 2014 Apple Inc. All rights reserved.
/path_to_the_installer/abc.pkg: code object is not signed at all
NO
这意味着签名不符合 Gatekeeper 要求。
我们已经在 Mac OS X 10.6 和 Mac OS X 10.10 上测试了 abc.pkg 安装程序,两次都安装成功。
究竟是什么意思 abc.pkg 不符合 Gatekeeper 的要求,以及检查签名工具失败的后果是什么?
我们不应该看到苹果的警告:
“abc.pkg”来自一个身份不明的开发者。您确定要打开它吗?