我正在为 OSX 签署 install4j 安装程序,但 OSX 拒绝它。系统日志只报告被拒绝,spctl只报告被拒绝,没有任何解释。我如何确定被拒绝的原因?
我想你正在谈论看门人 https://support.apple.com/en-us/HT202491下载后不允许您的应用程序运行? Gatekeeper 的规则不是基于拒绝应用程序的规则列表,而是基于可能的规则列表accept一个应用程序,以及您的应用程序是否不符合任何或这些规则。这使得很难记录例如为什么您的应用程序被拒绝超出“它不符合任何允许规则”的范围。现在,如果您知道希望应用哪个“允许”规则,您可以尝试基于该规则对其进行调试,但 Gatekeeper 本身并不知道这一点,因此没有太大帮助。
我假设您希望您的应用程序在“已确定的开发人员”规则下被允许?如果是这样,有几个测试可以查找明显的问题:首先,运行codesign -vv --deep-verify /path/to/yourapp.app
,并确保它打印出“在磁盘上有效”和“满足其指定要求”(并且不会给出任何错误)——如果没有,则表明应用程序的签名或内容有问题。
二、运行codesign -dvv /path/to/yourapp.app
,并确保它列出的数据包括:
Authority=Developer ID Application: [Your name/company here]
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Sealed Resources version=2 rules=[something] files=[something]
如果授权列表与此不同,则您使用了错误的证书对其进行签名。如果密封资源版本为 1 或未列出,则说明您使用旧版本的 OS X 对其进行了签名,而最新版本将拒绝该签名格式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)