macOS 解决 AirDrop 传输应用“已损坏“问题,以sublime为例

问题现象

通过 AirDrop 从其他设备传输应用到 Mac 后,双击打开时提示:

复制代码
"XXX.app" 已损坏,无法打开。您应该将它移到废纸篓。

问题原因

这不是文件真的损坏了,而是 macOS 的 Gatekeeper 安全机制在作祟。

当应用通过 AirDrop、浏览器下载等方式获取时,macOS 会自动给文件打上 com.apple.quarantine(隔离)标记。对于未经 Apple 公证或签名的应用,系统会直接拒绝打开,并显示"已损坏"的误导性提示。

解决方案

方法 1:移除隔离属性(推荐)

打开终端,执行以下命令:

bash 复制代码
xattr -d com.apple.quarantine /Applications/你的应用.app

示例(以 Sublime Text 为例):

bash 复制代码
xattr -d com.apple.quarantine /Applications/Sublime\ Text.app

注意

  • 如果应用在其他位置(如 ~/Downloads),需要修改路径
  • 文件名中有空格需要用反斜杠转义(如 Sublime\ Text.app

如果提示权限不足,加上 sudo

bash 复制代码
sudo xattr -d com.apple.quarantine /Applications/Sublime\ Text.app

方法 2:右键打开(临时绕过)

  1. 在 Finder 中找到应用
  2. 按住 Control 键点击(或右键)
  3. 选择「打开」
  4. 在弹出的警告中点击「打开」

缺点:每次打开都需要这样操作,不如方法 1 彻底。

方法 3:系统设置放行

  1. 双击应用(会报错)
  2. 打开「系统设置」→「隐私与安全性」
  3. 向下滚动,找到"XXX 已被阻止"的提示
  4. 点击「仍要打开」

为什么不推荐 xattr -cr

网上很多教程使用 xattr -cr(递归清除所有扩展属性),但在新版 macOS(Ventura+)上可能会遇到:

复制代码
xattr: [Errno 1] Operation not permitted

这是因为 -c 会尝试清除所有扩展属性,包括受 SIP(系统完整性保护)保护的属性。而 -d com.apple.quarantine 只删除隔离标记,更安全且成功率更高。

扩展知识

查看文件的扩展属性

bash 复制代码
xattr /Applications/你的应用.app

如果输出包含 com.apple.quarantine,说明文件被隔离了。

批量处理多个应用

bash 复制代码
cd /Applications
for app in *.app; do
  xattr -d com.apple.quarantine "$app" 2>/dev/null
done

安全提示

⚠️ 移除隔离属性会绕过 macOS 的安全检查,请确保应用来源可信。建议:

  • 只对来自可信来源的应用使用此方法
  • 优先从官网下载或使用 Homebrew 等包管理器安装
  • 不要对来历不明的应用执行此操作

总结

遇到 AirDrop 传输应用"已损坏"的问题,一条命令即可解决:

bash 复制代码
xattr -d com.apple.quarantine /Applications/应用名.app

简单、高效、不需要关闭系统安全设置。


参考资料

相关推荐
谢斯13 小时前
[esp-idf]macos 环境安装 v6.0
macos
idolao14 小时前
ANSYS 2024安装教程 Windows版:License Manager配置+环境变量+Fluent汉化指南
macos
Digitally17 小时前
4 种方法将 Mac 联系人同步到 iPhone
macos·cocoa·iphone
黄毛火烧雪下17 小时前
在 macOS 里配置环境变量
macos
万粉变现经纪人18 小时前
如何解决 pip install bitsandbytes 报错 仅支持 Linux+glibc(macOS/Windows 失败)问题
linux·运维·windows·python·scrapy·macos·pip
鹤卿12319 小时前
Masonry
macos·ios·cocoa
承渊政道19 小时前
【动态规划算法】(简单多状态dp问题入门与经典题型解析)
数据结构·c++·学习·算法·leetcode·macos·动态规划
神の愛19 小时前
macOS--brewhome安装镜像
macos
阿洛学长19 小时前
OpenClaw零成本部署指南:Windows/Mac/Linux/阿里云搭建+两个免费大模型API配置攻略
linux·windows·macos
Happy_Sharing20 小时前
Mac安装seqkit、gffread包之后,无法使用seqkit、gffread命令
macos