XCode4 - 在哪里查找由核心数据创建的sqlite文件

vik*_*tra 7 sqlite iphone core-data xcode4

我刚开始使用核心数据.我想设置一个预先填充的数据库.我在某处读到核心数据在运行核心数据应用程序时会创建一个sqlite文件.我不知道在哪里寻找它.

我按照此博客上的说明进行操作,但未在指定目录位置/Users/<Username>/Library/Application Support/iPhone Simulator/User/Application/<Application GUID>/Documents/<database name.sqlite>或应用程序目录中找到sqlite文件.

这是我的persistentCoordinator代码.

- (NSPersistentStoreCoordinator *)persistentStoreCoordinator
{
    if (__persistentStoreCoordinator != nil)
    {
        return __persistentStoreCoordinator;
    }

    NSString *storePath = [[[self applicationDocumentsDirectory] path] stringByAppendingPathComponent:@"coredata.sqlite"];
    NSFileManager *fileManager = [NSFileManager defaultManager];
    if (![fileManager fileExistsAtPath:storePath]) {
        NSString *defaultStorePath = [[NSBundle mainBundle] pathForResource:@"coredata" ofType:@"sqlite"];
        if (defaultStorePath) {
            [fileManager copyItemAtPath:defaultStorePath toPath:storePath error:NULL];
        }
    }

    NSURL *storeURL = [NSURL fileURLWithPath:storePath];
    NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption, [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil];

    NSError *error = nil;
    __persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
    if (![__persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:options error:&error])
    {
        NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
        abort();
    }    

    return __persistentStoreCoordinator;
}
Run Code Online (Sandbox Code Playgroud)

mru*_*ueg 16

~/Library/Application Support/iPhone Simulator/[SDK version]/Applications/[App GUID]/Documents对于我来说,这些文件都适用于Xcode 3和Xcode 4.

如果您有多个SDK,请务必查看应用的所有不同SDK版本目录.