mac的一些解决方案
已损坏 App 解决方法
1 | xattr -cr /Applications/Imagine.app |
强制、递归地清除 “Imagine.app” 这个应用程序的所有扩展属性(extended attributes)。
这就像是给这个 App “ 洗了个澡 “,去掉了它身上所有额外的 “ 标签 “ 和 “ 注释 “,让系统认为它是一个 “ 干净 “ 的、可信任的程序。
当你从网上下载一个 App 时,macOS 会自动给这个 App 文件(以及它里面的所有文件)贴上一个特殊的扩展属性,叫做 com.apple.quarantine(苹果隔离区)。这个 “ 隔离 “ 标签就像一个包裹上的 “ 来源不明,请小心开箱 “ 的警告贴纸。
当你第一次尝试打开这个 App 时,Gatekeeper 就会检查:
- 这个 App 是否来自 App Store?
- 如果不是,它是否有苹果认证的开发者签名?
- 它身上有没有
com.apple.quarantine这个 “ 隔离 “ 标签?
如果一个 App 是从非官方网站下载的,可能没有合法的开发者签名,macOS 就会因为这个 “ 隔离 “ 标签而阻止你打开它,并显示类似这样的警告:
- “ 无法打开 ‘Imagine.app’,因为 Apple 无法检查其是否包含恶意软件。”
- “ 打不开 ‘Imagine.app’,因为它来自身份不明的开发者。”
- 有时甚至会说 “ 文件已损坏 “。
而 xattr -cr /Applications/Imagine.app 这个命令,最关键的作用就是撕掉了 com.apple.quarantine 这个 “ 隔离 “ 标签!
当你移除了这个扩展属性后,Gatekeeper 再次检查时,就看不到那个警告标签了。它会认为这个 App 不是从网上下载的危险文件(或者你已经对其负责),于是就放行了,你自然也就可以正常打开它了。