目前我正在处理的程序使用Core Data,并将“帐户”信息存储在一个名为Accounts.sqlite
该文件的文件中存储在Documents
长字符串内的目录中,即A89C1398-A7BE-44F1-A337-DABA9C66AF1D
我想为应用程序保存/创建/var/mobile/Library/KegCop
文件发现了这个 SO 问题,我进行了必要的更改,从手机上删除了我的应用程序,单击了Run
Xcode 中的按钮,应用程序构建并运行良好。但是该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
文件中创建以下方法,
// 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
}