2012年,苹果在Mac OS X(现在的MacOS)上添加了GateKeeper。当您尝试运行从互联网下载的Mac软件时,GateKeeper会检查该软件是否使用有效的开发者ID证书签名。如果不是,则网守拒绝运行该软件。多年来,看门人变得更加严格,最近增加了一项公证要求。在MacOS Catalina上,GateKeeper不仅检查软件是否由有效的开发者ID证书签名,还会打电话回家检查苹果是否已经对软件进行了公证,如果检查失败,GateKeeper再次拒绝运行该软件。Mac开发者必须注册苹果开发者计划,签署法律协议,并支付99美元的年费加税,才能获得开发者ID代码签名证书,并将软件上传到苹果进行公证。
您是否可以在不签名的情况下通过互联网分发Mac软件,从而完全避免开发者ID和公证?从技术上讲,目前是这样的,尽管苹果已经表示,MacOS的未来版本可能根本不允许运行未签名的代码。有些人声称Mac用户只需点击鼠标右键即可运行未经签名的软件。但那到底是什么意思呢?让我们通过一系列屏幕截图来看看用户体验。作为说明,我创建了一个未签名的应用程序MyGreatApp,将其上传到我的服务器上,然后在MacOS 10.15.6(Mac操作系统的最新公开版本)上使用Safari下载了该应用程序。(MacOS Big Sur测试版的体验基本上是一样的,只是新的iOS风格的提醒看起来更糟糕。)。以下是当您尝试在Finder中正常打开该应用程序(双击)时所看到的内容:
此警报提到可能存在恶意软件,并且默认操作是移至垃圾桶,因此我们没有一个良好的开端。请注意,这里没有提到右击。如果用户恰好注意到并单击了问号按钮(窗口中最小的用户界面元素!),则会打开一个帮助窗口:
帮助文档在标题中很有帮助地提到了恶意软件。再说一次,这里没有提到右键单击。但在文档的最后一句话中,有一个指向另一个文档的链接,可以通过覆盖安全设置来打开应用程序:
最后,我们看到右键单击的说明。错误,控制单击。当您在Finder中按住鼠标右键单击应用程序时,您会看到上下文菜单:
又一次警告!再次发布了一条可怕的消息,提到恶意软件和隐私丢失。同样,移动到垃圾桶是默认选项。不过,如果您确实单击了“打开”按钮,它确实会像广告中所说的那样工作。您只需右键单击即可运行未签名的Mac软件。
如果您是Mac专业用户,并且您已经了解并期待此过程,那么这并不困难。但是,如果你是一名Mac用户,以前从未见过这种情况,那么你坚持到最后的可能性几乎为零。大多数用户会被吓跑,这是理所当然的。苹果特意就恶意软件向你发出警告,让你暴露自己。所以,如果他们还不知道忽略这个警告是安全的,那么头脑正常的人会忽视这个警告吗?
作为一名Mac开发者,当这是新客户的第一次体验时,几乎不可能经营一项可行的软件业务。你再也不会有新客户了!这就是为什么我认识的每个Mac开发者都会注册开发者ID,只发布签名的、经过公证的应用程序。否则,这将是经济上的自杀。从技术上讲,只需右键单击就可以选择,但实际上对于Mac开发人员来说,这不是一个可行的分发选项。从商业的角度来看,守门人是无可避免的。