2

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

0 回答 0