MAC应用无法打开或提示“来自身份不明开发者”

前言

在MAC下安装一些软件时提示"来自身份不明开发者",其实这是MAC新系统启用了新的安全机制,以保护用户免受恶意软件的侵害。这些机制默认只信任Mac App Store下载的软件和拥有开发者ID签名的应用程序。换句话说就是 MAC 系统默认只能安装靠谱渠道(有苹果审核的 Mac App Store)下载的软件或被认可的人开发的软件。
。虽然这增加了安全性,但也可能导致一些未签名但可信的软件在安装时遇到障碍。本文将详细介绍如何解决这一问题。

问题描述

在尝试打开从非Mac App Store渠道下载的Mac应用时,用户可能会遇到以下警告:

打不开 xxx,因为它来自身份不明的开发者。
在这里插入图片描述

这个警告是macOS的安全机制之一,旨在防止用户无意中安装可能有害的软件。

解决办法

简单的临时解决

最简单的方式:按住Control后,再次点击软件图标,即可。
例如说提示xx app打不开 就摁住 control 再打开该APP 例外一些 不受信任的shell 脚本也可通过此方式打开

永久解决方案:

修改系统配置:
终端执行 启用 任何来源选项

sudo spctl --master-disable

输入管理员密码 回车 确定执行
然后重新打开系统设置 一定要重新打开系统设置
重新打开系统设置后 选择 安全性与隐私,任何来源选项应该会变为可用状态。

勾选“任何来源”,以允许从所有渠道安装应用。‘
如果不能勾选 先点击解锁 在尝试
在这里插入图片描述

在这里插入图片描述
选择完 任何来源选项后,记得保存 就是点击一下那个锁

如还是没有生效 尝试多执行几次该命令 最后 一定要重新打开系统偏好设置 。

注意事项

安全性考虑: 修改系统配置以允许从任何来源安装应用可能会增加安全风险。确保只安装来自可信来源的软件。
开发者签名: 如果你是开发者,考虑为你的应用添加开发者ID签名,以避免用户遇到这些障碍。
系统更新: 确保macOS系统保持最新,以利用最新的安全功能和修复。

扩展阅读

Gatekeeper

Gatekeeper 是 macOS 内置的一项安全功能,它帮助保护用户免受恶意软件的侵害。通过检查应用程序的来源和开发者签名,Gatekeeper 确保用户只能运行来自可信来源的应用程序。

Gatekeeper 的工作原理

检查来源:
Gatekeeper 检查应用程序的下载和安装来源。macOS 允许用户设置允许应用程序的来源,如 Mac App Store、已识别的开发者或任何来源。
验证签名:
Gatekeeper 验证应用程序是否由已认证的开发者签名。开发者需要从 Apple 获取开发者 ID 证书,并使用该证书对应用程序进行签名。
维护白名单:
Gatekeeper 维护一个白名单,列出了所有允许运行的应用程序。这包括 Mac App Store 下载的应用程序和用户明确允许的应用程序。
阻止未知应用程序:
默认情况下,Gatekeeper 会阻止未签名或来自未知开发者的应用程序启动。

Mac应用代码签名

在macOS开发中,代码签名是一个关键的安全特性,它确保了应用的完整性和来源的真实性。通过代码签名,开发者可以向用户证明应用未被篡改,并且确实由声明的开发者创建。

代码签名的重要性

确保完整性:代码签名确保应用自签名以来未被修改,保护用户免受恶意软件侵害。
验证来源:用户可以确认应用确实由可信的开发者创建。
绕过Gatekeeper:代码签名允许应用绕过macOS的Gatekeeper安全机制,使得用户可以安装和运行未从Mac App Store下载的应用。

获取开发者ID证书

注册Apple开发者账号:

访问Apple Developer网站并注册成为Apple开发者。
创建证书签名请求(CSR):

使用Keychain Access工具创建CSR。这将生成一对公私钥,其中私钥将用于签名应用。
在Apple开发者门户中注册证书:

登录到Apple开发者门户。
选择“Certificates, Identifiers & Profiles”部分。
在“Developer ID”下创建新的证书。
下载并安装证书:

在创建证书后,下载并双击安装到Keychain Access中。

为应用进行代码签名
在Xcode中配置签名:

打开项目,选择“Targets”下的“Signing & Capabilities”。
确保“Automatically manage signing”选项被选中。
选择你的开发者ID证书。

手动签名:

如果需要手动签名,可以使用codesign命令行工具。

codesign --force --sign "Developer ID Application: Your Name (TeamID)" --timestamp --options runtime /path/to/YourApp.app
验证签名:

使用codesign工具验证应用的签名。

codesign --verify --deep /path/to/YourApp.app

总结

通过上述步骤,你可以有效地解决Mac应用因安全机制而无法打开的问题。选择最适合你需求的解决方案,并确保在修改系统设置时保持警惕,以维护系统的安全性。


good day!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值