在macos中允许未经验证来源应用运行的设置

Posted ieface

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在macos中允许未经验证来源应用运行的设置相关的知识,希望对你有一定的参考价值。

苹果MacOS系统具有非常优秀的安全性,对应用系统的安全验证覆盖了启动过程、软件更新以及当前系统操作。

安全保护的作用有其两面性。在某些场景下,过于严格的安全验证也会对可用性造成一些影响,带来不必要的麻烦。

比较常见的需要运行未经验证软件应用的场景:

1. 普通用户尝试去使用一些破解软件。

2. 对于软件开发人员来说,安装未经系统验证的应用软件也是一种很常见的需求。

3. 一些个人开发者开发的应用软件,或处于推广初期需要频繁升级迭代的新软件试用阶段。

4. 对于一些提供热更新的软件应用,受苹果安全验证规则的限制,无法通过正常的苹果官方验证,但确实有独特的应用价值并且不存在人为的安全风险。

5. 一些纯绿色软件,会采用简单的压缩包方式来进行发行,用户下载后简单解压后即可直接使用。

以ieface浏览器为例,比较有代表性:这是一款以分屏浏览功能为基础提供新鲜上网体验的网络浏览器,目前由个人独立开发维护,处于快速开发迭代阶段,新功能的上线采取了热更新的方式,以绿色软件的形式通过压缩包来发布。嗯,可以看出,ieface浏览器具备了被MacOS系统阻止正常运行的所有要素 :)

在macos中下载ieface压缩包,解压后点击“ieface browser”图标即可运行。解压后的ieface浏览器应用可以复制保存到任何目录或U盘上,双击即运行,无需安装,不对系统做任何配置改变,最典型的绿色软件做派。

但是,因为没有经过苹果官方的安全验证,在当前位置初次双击运行时,就会被系统安全机制所阻止。

从官网下载ieface浏览器软件压缩包,解压后直接双击应用图标来运行,系统会弹出如下的提示窗口:

提示用词比较委婉,但是,没有给任何让软件继续运行的选择。此时,需要做一点简单的操作,才能让应用正常运行。这个操作是一次性的,只要不更改移动软件的运行位置,下一次点击运行时不会再出现障碍。

对于专业的软件开发人员来说,这显然不是个大问题,解决办法很简单:
打开系统命令行终端窗口,通过行命令来授权当前软件可运行。

有两种常见的命令可选用:

方法一:批量放行,允许“任何来源”应用运行
    打开命令:sudo spctl --master-disable    
    关闭命令:sudo spctl --master-enable

方法二:单独设置,更改可运行权限
    sudo xattr -r -d com.apple.quarantine %dir%/???.app
    例如,将ieface浏览器压缩包下载后,直接在下载目录解压后,运行:
    sudo xattr -r -d com.apple.quarantine ~/Downloads/ieface browser.app
    (应用名称中间的空格前需加转意符)
    运行命令后,双击应用图标即可正常运行。

对于普通用户来说,解决办法是:通过系统偏好设置解锁对应用运行的限制。

1. 双击ieface浏览器应用图标,此时会弹出提示窗口:

在macos中允许未经验证来源应用运行的设置

 选择“取消”后,进行下一步操作。 

2. 点击屏幕左上角的苹果图标,在系统菜单中选择“系统偏好设置”:

在macos中允许未经验证来源应用运行的设置

3. 在“系统偏好设置”窗口中选择“安全性与隐私”:

在macos中允许未经验证来源应用运行的设置

4. 在“安全性与隐私”中会出现刚被阻止运行的应用提示,选择“仍要打开”:

在macos中允许未经验证来源应用运行的设置

5. 此时会弹出操作提示窗口:

在macos中允许未经验证来源应用运行的设置

6. 正常打开后的ieface浏览器初始屏幕是这个样子:

可以正常使用了。此时应用已被加入了系统白名单,下次再运行时,就不会有障碍了。


以上是关于在macos中允许未经验证来源应用运行的设置的主要内容,如果未能解决你的问题,请参考以下文章

如何在 symfony2 验证器中允许空值

一旦我不允许它,我可以得到通知令牌然后从设置中允许它。 (所有无需重新启动应用程序)

将 MacOS X 菜单栏应用程序设置为在启动时启动

如何在 node.js 中允许 CORS?

在正则表达式电子邮件中允许 + 验证电子邮件 [重复]

我应该在我的用户名中允许表情符号吗?