iOS – 如何更改文档目录
目前我正在使用的程序使用核心数据,并将“帐户”信息存储在一个名为Accounts.sqlite
文件中。该文件存储在Documents
目录里面的长string中,即A89C1398-A7BE-44F1-A337-DABA9C66AF1D
So我想在/var/mobile/Library/KegCop
保存/创build应用程序的文件我发现这个问题 ,我做了必要的修改,删除了我的应用程序,点击Xcode中的Run
button,运行良好。 但是Accounts.sqlite
文件仍然在Documents
目录中。
我添加/修改了下面的代码到AppDelegate.m
文件,
// default sqlite file path // NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"Accounts.sqlite"]; // jailbroken path - /var/mobile/Library/KegCop/ NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *docPath = [documentPaths objectAtIndex:0]; NSURL *storeURL = [NSURL fileURLWithPath: [docPath stringByAppendingPathComponent:@"Accounts.sqlite"]];
然后在AppDelegate.m
文件中创build下面的方法,
// set path for documents in jailbreak environment +(NSString *)documentsDirectoryPath { #ifdef JAILBREAK NSString *documentPath =@"/var/mobile/Library/KegCop"; if (![[NSFileManager defaultManager] fileExistsAtPath:documentPath]) { [[NSFileManager defaultManager] createDirectoryAtPath:documentPath withIntermediateDirectories:NO attributes:nil error:NULL]; } return documentPath; #else NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); return [documentPaths objectAtIndex:0]; #endif }
- JSON和核心数据:我应该将JSON转换成核心数据?
- '+ entityForName:nil不是合法的NSManagedObjectContext参数 – 核心数据
- 如何使用选项字典在Swift中closuresCore Data Write-Ahead日志logging?
- 如何使用核心数据获取每个第n个对象
- 生成失败,错误命令/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc
- fetchedObjects(NSArray)计数返回0,当它充满对象
- iOS Swift – 具有复杂数据关系的核心数据示例
- 核心数据NSFetchRequest setResultType:NSDictionaryResultType不起作用
- 使com.apple.CoreData.ConcurrencyDebug 1工作