在我的iOS应用程序中,我允许用户保存他们的UI预设。
NSArray* theDirs = [[NSFileManager defaultManager] URLsForDirectory:NSApplicationSupportDirectory
inDomains:NSUserDomainMask];
NSURL *supportDir = [theDirs objectAtIndex:0];
NSURL *presetURL = [supportDir URLByAppendingPathComponent:@"Presets"];
// Write to disk.
NSData *presetData = [NSPropertyListSerialization dataWithPropertyList:mainDict format:NSPropertyListBinaryFormat_v1_0 options:0 error:nil];
NSString *presetPath = [[presetURL path] stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.preset", presetName]];
if ([[NSFileManager defaultManager] fileExistsAtPath:presetPath]) {
[[NSFileManager defaultManager] removeItemAtPath:presetPath error:nil];
}
[[NSFileManager defaultManager] createFileAtPath:presetPath contents:presetData attributes:nil];
我刚刚在iOS7的应用商店发布了更新。用户已通过电子邮件向我抱怨他们的预设在更新后已被删除....
是我选择使用的目录(支持)???
任何帮助都将不胜感激!!
答案 0 :(得分:1)
尝试使用文档目录。您可以像这样访问它:
NSArray *directoryPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *directory = [directoryPath objectAtIndex:0];
您可以自由地在此处添加/删除文件/目录。
答案 1 :(得分:0)
可能问题在于此代码:
NSArray* theDirs = [[NSFileManager defaultManager] URLsForDirectory:NSApplicationSupportDirectory inDomains:NSUserDomainMask];
根据Foundation Constants Reference NSApplicationSupportDirectory
是:
<强> NSApplicationSupportDirectory 强>
应用程序支持文件的位置 (
Library/Application Support
)。
适用于iOS 2.0及更高版本 在NSPathUtilities.h中声明。
AFAIK iPhone设备中没有这样的文件夹,可能就是这个原因。