在我的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的更新。用户给我发了电子邮件,抱怨他们的预设在更新....时被删除了
是我选择使用的目录(支持)吗?
任何帮助将不胜感激!!
尝试使用文档的目录。你可以这样访问它:
NSArray *directoryPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *directory = [directoryPath objectAtIndex:0];
您应该可以自由地在这里添加/删除您的核心内容的文件/目录。
问题可能出在这段代码上:
NSArray* theDirs = [[NSFileManager defaultManager] URLsForDirectory:NSApplicationSupportDirectory inDomains:NSUserDomainMask];
根据基础常数参考NSApplicationSupportDirectory
是:
NSApplicationSupportDirectory
应用程序支持文件的位置(
Library/Application Support
).
可在iOS 2.0及更高版本中使用。
声明在NSPathUtilities.h.
iPhone设备中没有这样的文件夹,可能这就是原因。