ios - 越狱 - 重新定位 Core Data 应用程序的 "Documents"目录

标签 ios xcode core-data jailbreak

我创建了一个 Core Data 应用程序,我想将 file.sqlite 保存到与默认目录不同的目录中。我遇到了这个SO thread ,然后发布this SO question ,并且该项目似乎正在编译,但我的 file.sqlite 没有保存在我指定的位置。我创建了一个方法,并向 AppDelegate.m 文件添加了一些代码,但 storeURL 变量仍然将 file.sqlite 保存在默认“文档目录。如何调用在 AppDelegate.m 文件中创建的方法来指定 storeURL 变量的正确位置?

我应该改变吗

NSURL *storeURL = [NSURL fileURLWithPath: [docPath stringByAppendingPathComponent:@"Accounts.sqlite"]];

NSURL *storeURL = [NSURL fileURLWithPath: [documentsDirectoryPath stringByAppendingPathComponent:@"Accounts.sqlite"]];

这也会破坏 iOS 模拟器的支持吗?

最佳答案

我通过保留模拟器的默认文档路径,然后为设备设置不同的文档路径解决了这个问题。以下代码位于我的 AppDelegate.m 文件

// add conditional code for simulator and iDevice
#if TARGET_IPHONE_SIMULATOR
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString *docPath = [documentPaths objectAtIndex:0];

NSURL *storeURL = [NSURL fileURLWithPath: [docPath stringByAppendingPathComponent:@"Accounts.sqlite"]];
#else
// jailbroken path - /var/mobile/Library/KegCop/
NSString *docPath = self.documentsDirectoryPath;

NSURL *storeURL = [NSURL fileURLWithPath: [docPath stringByAppendingPathComponent:@"Accounts.sqlite"]];
#endif

关于ios - 越狱 - 重新定位 Core Data 应用程序的 "Documents"目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11836775/

相关文章:

core-data - 核心数据 : avoiding retain cycles in to-many relationships

ios - 仅适用于特别构建和较旧的设备,保存时核心数据崩溃

iphone - 核心数据 - 大数据集和很长的加载时间

ios - 允许从第三方应用程序中的链接打开我的应用程序

ios - 如何在 Today 扩展中发送和接收数据

ios - 在 Storyboard 中更改 iphone 4 和 iphone 5 之间的背景图像?

swift - 无法在 Swift 3 中将 Facebook 用户属性传递给 Firebase FIRAuth

swift - 无法使用 Storyboard将窗口连接到 IBOutlet

ios - 调整 UIImage 大小的最简单方法?

iphone - 如何创建圆形按钮?