Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 允许在Mac OS X应用程序中读取文件的权限是什么?(拒绝文件读取数据错误)_Macos_Cocoa_File_Sandbox_File Read - Fatal编程技术网

Macos 允许在Mac OS X应用程序中读取文件的权限是什么?(拒绝文件读取数据错误)

Macos 允许在Mac OS X应用程序中读取文件的权限是什么?(拒绝文件读取数据错误),macos,cocoa,file,sandbox,file-read,Macos,Cocoa,File,Sandbox,File Read,我正在制作一个MacOSX应用程序(沙盒),它从/etc/myfolder中安装的配置文件中读取数据。当我尝试使用NSFileHandle读取文件时,控制台中出现以下错误: sandboxd:([3251])MyApp(3251)拒绝文件读取数据/private/etc/myfolder/myconfig.conf 我已经在EntityElements文件中设置了以下权限,但我仍然被sandboxd拒绝 com.apple.security.temporary-exception.files.

我正在制作一个MacOSX应用程序(沙盒),它从/etc/myfolder中安装的配置文件中读取数据。当我尝试使用NSFileHandle读取文件时,控制台中出现以下错误:

sandboxd:([3251])MyApp(3251)拒绝文件读取数据/private/etc/myfolder/myconfig.conf

我已经在EntityElements文件中设置了以下权限,但我仍然被sandboxd拒绝

  • com.apple.security.temporary-exception.files.home-relative-path.read-only
  • com.apple.security.temporary-exception.files.absolute-path.read-only
  • com.apple.security.files.user-selected.read-only
编辑:看来我用错了

com.apple.security.temporary exception.files.absolute path.read-only


我将其设置为布尔值。我的印象是,将其设置为“是”将启用使用绝对路径的所有文件读取。上述授权的值必须是允许的绝对路径。

您需要使用
com.apple.security.temporary exception.files.absolute path.read-only
和绝对路径
/private/etc/myfolder/myconfig.conf
-The(10.8.3)沙盒似乎不接受包含符号链接的路径


注意:如果你正在为Mac App Store进行沙箱处理,你可能会面临一项几乎不可能的任务,那就是让你的应用被接受,并获得在/等中读取文件的临时权限。你最好将此文件存储在应用程序的容器中-在MAS中,每个应用程序都是一个被鲨鱼出没的水域包围的岛屿。

我使用的是OS X 10.7.5,这种组合:/private/etc/myfolder/myconfig.conf和com.apple.security.temporary-exception.files.absolute-path.read-only不起作用。@MiuMiu-没有一个单独的沙盒,尤其是在10.7中-几乎每个点版本都在某种程度上有所不同(沙盒仍在开发中)。我想有些权利的名称甚至改变了。这意味着在一个地方起作用的东西在另一个地方可能会失败。。。话虽如此:检查您正在使用的路径不包含符号链接,它工作的最佳机会是使用绝对路径!如果需要指定多个路径,则权限可以是字符串值,也可以是字符串值数组。最好的选择仍然是将文件移动到应用程序的容器中或关闭沙盒。似乎我误用了“com.apple.security.temporary exception.files.absolute path.read-only”。之前我将其设置为布尔值。我现在将它设置为一个字符串,该字符串对应于允许读取的绝对路径,并使用/private/etc/myfolder/myconfig.conf(仅使用/etc/myfolder/myconfig.conf不起作用)。谢谢