如何在/ Library / Application Support中创建目录

时间:2013-07-31 22:55:49

标签: objective-c cocoa

当我尝试在/ 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>

任何想法?

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

1 个答案:

答案 0 :(得分:1)

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