0

当我尝试在 /Library/Application Support/ 中创建目录“我的应用程序名称”时出现权限被拒绝错误

//@"/Library/Application Support/My App Name/"
NSString *path = [[NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSLocalDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"My App Name"];
if(![[NSFileManager defaultManager] createDirectoryAtPath:path withIntermediateDirectories:YES attributes:NULL error:&error]){
    NSLog(@"%@", error);
}

我不需要沙箱我的应用程序,但我读到沙箱和添加特殊权利可以解决它。

我尝试将例外添加到权利文件但没有运气

<key>com.apple.security.temporary-exception.files.absolute-path.read-write</key>
<array>
    <string>/Library</string>
    <string>/Library/Application Support/</string>
</array>

有任何想法吗?

编辑:我还应该注意,我希望保存一个由所有用户共享的文件。我不希望每个用户都有不同版本的文件。

4

1 回答 1

1

沙盒不会覆盖文件系统权限 - 它缩小而不是扩大访问权限!/Library不是用户可写的。您应该使用~/Library/Application Support(通过 API而非硬编码路径定位)。

于 2013-08-01T00:32:51.720 回答