Iphone 是否将coredata文件存储在文档目录之外?

Iphone 是否将coredata文件存储在文档目录之外?,iphone,objective-c,core-data,Iphone,Objective C,Core Data,我允许在我的应用程序中共享itunes,但我注意到coredata在文档目录中创建sqlite 我可以将此文件的保存更改为库吗?如果可以,如何更改 致以最诚挚的问候这是可能的。我制作了一个小助手方法,它创建了一个无法通过itunes访问的路径。数据库将存储在itunes备份中的library目录中 - (NSString *)applicationPrivateDocumentsDirectory { static NSString *path; if (!path) {

我允许在我的应用程序中共享itunes,但我注意到coredata在文档目录中创建sqlite

我可以将此文件的保存更改为库吗?如果可以,如何更改


致以最诚挚的问候

这是可能的。我制作了一个小助手方法,它创建了一个无法通过itunes访问的路径。数据库将存储在itunes备份中的library目录中

- (NSString *)applicationPrivateDocumentsDirectory {
    static NSString *path;
    if (!path) {
        NSString *libraryPath = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) lastObject];
        path = [libraryPath stringByAppendingPathComponent:@"Private Documents"];
        BOOL isDirectory;
        if (![[NSFileManager defaultManager] fileExistsAtPath:path isDirectory:&isDirectory]) {
            NSError *error = nil;
            if (![[NSFileManager defaultManager] createDirectoryAtPath:path withIntermediateDirectories:YES attributes:nil error:&error]) {
                NSLog(@"Can't create directory %@ [%@]", path, error);
                abort(); // replace with proper error handling
            }
        }
        else if (!isDirectory) {
            NSLog(@"Path %@ exists but is no directory", path);
            abort(); // replace with error handling
        }
    }
    return path;
} 
然后你会取代

NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"SomeApp.sqlite"];
-(NSPersistentStoreCoordinator*)persistentStoreCoordinator
方法中,使用:

NSURL *storeURL = [NSURL fileURLWithPath:[[self applicationPrivateDocumentsDirectory] stringByAppendingPathComponent:@"SomeApp.sqlite"]];

你说的“拯救”是什么意思?