NSFileManager' copyItemAtPath:'创建隔离文件副本

时间:2015-07-01 00:38:21

标签: macos cocoa nsfilemanager

我有一个沙盒OS X应用程序,我将应用程序的/Contents/Resources/文件夹中的文件复制到NSHomeDirectory()。一切正常,但复制的文件被标记为隔离。在终端中运行xattr -l会提供以下输出:

$ xattr -l myfile
com.apple.quarantine: 0006;00000000;

如何在不将文件标记为隔离的情况下复制文件,或者最坏的情况是,如何以编程方式删除此属性?

1 个答案:

答案 0 :(得分:1)

OS X会自动隔离sandboxed apps的某些文件(可执行文件,shell脚本,网络存档等)。您可以手动添加entitlement以防止这种情况发生:

com.apple.security.files.user-selected.executable
  

注意:此权利没有Xcode复选框,因此必须   手动添加到您应用的权利属性列表

App Sandbox Entitlement Keys