最近因需要打算在Mac上安装Windows11双系统,需要绕过Windows11的TPM2.0检测,需要把Windows11的win.install的文件替换成Windows10的win.install文件,然后在打包成IOS镜像文件,下载了一个IOS打包工具AnyToISO,运行时提示:AnyToISO已损坏,打不开。移到废纸篓/推出磁盘映像。
但并非你安装的软件已损坏,而是Mac系统的安全设置问题。可以单独为这款软件打开安全通道。
macOS 中如果安装一些修改版或破解版软件,通过拖拽方式放到 application 目录,在打开 app 的时候可能提示程序无法运行,通常我们在系统 preference - security 里可以手动允许运行,但是有时候使用这种方法也无法打开,这是由于系统识别到这个 app 可能有问题所以给它加上了 com.apple.quarantine 隔离属性阻止了他的运行。
如果我们需要运行它,就需要删除 app 的 com.apple.quarantine 属性,可以使用 xattr 来处理。
macOS 上的文件不只有 “normal” 属性,也有 “读”, “写”, “执行” 等其他属性。常规属性可以用 ls -l myfile 命令来查看。除此之外还可以定义扩展属性,扩展属性的修改可以用 xattr 来处理。xattr 命令用于展示和修改扩展属性;
命令语法如下:
xattr [options] attributes [files]
可用 option:
-c CLear all Atrributes.#清除全部属性 -d Delete the given attribute.#删除一个属性
-r: act recursively # 以递归方式 -h Help.
关于 com.apple.quarantine
com.apple.quarantine—Tagging files downloaded from the Internet as possibly untrustworthy, storing the application used to download them, among other things. (将从互联网上下载的文件标记为不可信的,将用于下载它们的应用程序存储起来,等等。)
当打开没有签名的 Mac 应用时,可能会报 “App can’t be opened because it is from an unidentified developer” 的错误。这种安全机制叫做 GateKeeper。 删除这个属性,就可以去除app 的隔离性,实现打开软件。
解决方法:
终端运行以下命令就行:
xattr -r -d com.apple.quarantine /Applications/AnyToISO.app
如果你用其他软件时遇到这个问题,可以把后面的软件名称换成你的试试。终端输入 xattr -r -d com.apple.quarantine 加上程序的App绝对路径,App可直接拖放到终端,会自动填写路径。
参考文献:
1、Mac安装软件时各种异常情况的解决方法-麦氪搜(iMacSO.com)
2、macOS Command - xattr_伊织_的博客-CSDN博客_xattr
|