OSX移除下载镜像的quarantine属性

5 min read

苹果系统有一个GateKeeper保护机制(自 OSX 10.5 加入)。从互联网上下载来的文件,会被自动打上com.apple.quarantine标志,翻译过来就是免疫隔离,系统根据这个附加属性对这个文件作出限制。
在安装软件的时候需要移除quarantine属性,步骤如下:

1、开启任何来源代码

打开终端,输入sudo spctl --master-disable然后回车,输入电脑密码后回车

2、移除quarantine属性代码

打开终端,输入sudo xattr -r -d com.apple.quarantine空格,再把dmg文件拖拽进去,回车,输入电脑密码,回车

sudo xattr -r -d com.apple.quarantine xxx.dmg
3、应用签名
安装Command Line Tools 工具,打开终端工具输入如下命令:

xcode-select --install
弹出安装窗口后选择继续安装,安装过程需要几分钟,请耐心等待。
打开终端工具输入并执行如下命令对应用签名:

sudo codesign --force --deep --sign - (应用路径)
应用路径:打开访达(Finder),点击左侧导航栏的“应用程序”,找到相关应用,将它拖进终端命令-的后面,然后按下回车即可,注意最后一个-后面有一个空格。

如遇如下错误:

/文件位置 : replacing existing signature
/文件位置 : resource fork,Finder information,or similar detritus not allowed
先在终端执行:

xattr -cr /文件位置(直接将应用拖进去即可)
然后再次执行如下指令即可:

codesign --force --deep --sign - /文件位置(直接将应用拖进去即可)