WRT 这个话题我应该怎么做 com.apple.quarantine?,我想知道OS X如何学习并将这些信息保存在@字段中。我不是在寻找禁用此功能的方法,而是寻找有关此功能实现的代码(或伪代码、想法等)。先感谢您。
下载任何文件后,运行xattr file
将显示浏览器在扩展属性中存储的内容:
xattr mydownload.gz com.apple.metadata:kMDItemWhereFroms com.apple.quarantine
接下来,更多细节:
xattr -p com.apple.quarantine mydownload.gz 0000;4cee9d4b;Safari;24064D6B-9854-46BC-AF73-5DE5F8042D0B|com.apple.Safari xattr -p com.apple.metadata:kMDItemWhereFroms mydownload.gz 62 70 6C 69 73 74 30 30 A1 01 5F 10 24 68 74 74 70 3A 2F 2F 73 75 [等等]
...或者,以可读格式:
mdls -name kMDItemWhereFroms mydownload.gz kMDItemWhereFroms = ( “http://some-url” )
您也可以自己设置这些(或您想要的任何属性):
xattr -w some-name some-value mydownload.gz
在下面的作品也是如此,即使是有再次运行上面的命令时,不同的结果:
xattr -w com.apple.metadata:kMDItemWhereFroms http://example.com mydownload.gz
而对于com.apple.quarantine
属性,据了解:
通常,隔离区数据由一组 4 个以分号分隔的值组成(一组用途不明的十进制数字 - 通常为 0000、8 个字符的不透明 ID、创建隔离文件的应用程序名称以及应用程序的 UTI (统一类型标识符)以管道符号为前缀)
例如,对于使用 Mozilla FireFox 下载的两个不同文件,如下所示:
Run Code Online (Sandbox Code Playgroud)com.apple.quarantine: 0000;4b392bb2;Firefox;|org.mozilla.firefox com.apple.quarantine: 0000;4b38d820;Firefox;|org.mozilla.firefox
使用 Automator 的文件夹操作,您可以为特定文件夹中的新文件运行此类命令,如果这是您所追求的。
正如丹尼尔提到的,浏览器可以在扩展属性中存储下载文件的源 URL(以及引用者)com.apple.metadata:kMDItemWhereFroms
。
首先,Apple 将此添加到 Mac OS X 10.4 的 Safari,然后添加到 Chrome/Chromium [Issue 22289],并且有一个突出的增强请求将其添加到 Firefox [Bug 337051]。
至于实现这一点的实际代码,请查看Chromium 补丁。
归档时间: |
|
查看次数: |
3842 次 |
最近记录: |