好的,我的问题很简单,但我绝对找不到一个直截了当的答案。所以,如果你能提供帮助,我会很高兴。
我想要的是什么:
一个地方(在10.6上 - 没有沙盒 - 或者10.7以后,有沙盒)我的应用程序可以自由地写一些数据。
用几句话说:
NSHomeDirectory()
)指向我写入的安全位置(OS X版本无关紧要)。答案 0 :(得分:0)
好的,我在这里,回答我自己的问题。
那么,如果我们只需要访问 Application Support 目录(如果它不存在则创建它),无论我们是否使用10.6(未启用沙盒)或10.7,该怎么办? +?
以下是通用解决方案(我自己在NSFileManager
上为此写了一个类别,但即使是一个简单的函数或宏也可以做...):
界面:
// NSFileManager+Paths.h
#import <Foundation/Foundation.h>
@interface NSFileManager (Paths)
+ (NSString*)applicationSupportDirectory;
@end
实施:
// NSFileManager+Paths.m
#import "NSFileManager+Paths.h"
@implementation NSFileManager (Paths)
+ (NSString*)applicationSupportDirectory
{
NSError *error;
return [[[NSFileManager defaultManager] URLForDirectory:NSApplicationSupportDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:YES error:&error] path];
}
@end
相当简单,是吧?
提示:请查看以下2条评论,了解修复此答案,以获得更优雅的解决方案。