为什么 Gatekeeper 会忽略未签名的应用程序包?

问题描述

我正在帮助客户将旧版 Adob​​e AIR 应用程序打包为独立应用程序。 AIR 编译器输出一个 .app 应用程序包。在编译了一个未签名的应用程序包后,我想我不妨尝试将它发送给客户端,以便在我研究如何将应用程序包打包到 DMG 时进行查看。

我只是简单地压缩了捆绑包并将其发送给客户。我希望 Gatekeeper 拒绝该应用程序,但客户报告说他们可以毫无问题地运行它。我还没有听到他们确切使用的是哪个版本的 macOS,但他们提到它有 M1 处理器,所以它一定是最近的。

根据我对 Gatekeeper 的了解,这听起来应该触发了所有危险信号。这是他们从互联网(不是通过 App Store)下载的一个应用程序,它没有经过 Apple 公证,甚至根本没有签名。我检查了 codesign 实用程序以验证应用程序包是否完全未签名。

我了解到从命令行启动应用程序时不会触发 Gatekeeper,但我确定客户端没有从命令行启动应用程序。它不检查从 zip 文件提取的应用程序包吗?或者还有什么我遗漏的吗?

解决方法

好吧,事实证明这很简单 - 客户端之前为了测试另一个应用程序而通过终端禁用了 Gatekeeper,并且忘记重新启用它。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...