iOS 8 使用 CoreData 时找不到 sqlite 文件
iOS 8 Can't locate sqlite File When using CoreData
我正在使用我的 iPhone 来 运行 项目。
这是我的代码:
NSPersistentStoreCoordinator *persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:model];
NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
NSString *dataStorePath = [documentPath stringByAppendingPathComponent:@"NewsData.sqlite"];
NSURL *dataStoreURL = [NSURL fileURLWithPath:dataStorePath];
BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:dataStorePath];
NSLog(@"%@",fileExists);
sqlite3 *db;
if (sqlite3_open([dataStorePath UTF8String], &db) != SQLITE_OK) {
sqlite3_close(db);
}
布尔类型 'fileExists' 是正确的,但是当我使用 Finder 定位 sqlite 文件时,它不起作用。
任何人都可以帮助我吗?提前致谢。
当您在 iPhone 上 运行 时,您无法直接访问该文件,因为路径 dataStorePath
在您的设备上。
您可以通过 Xcode 下载应用程序容器:首先连接您的 iPhone。然后转到菜单中的Xcode->Window->设备,然后在左侧select您的iPhone。您的应用程序应该出现在 "Installed Apps" 列表中。 Select 它并单击设置按钮(在添加和删除按钮旁边)并单击 "Download Container..."。 Xcode 会问你要保存到哪里。然后在查找器中右键单击下载的容器,然后 select "Show Package Contents"。转到 AppData->Documents,您将看到您的 sqlite 文件 "NewsData.sqlite".
顺便说一句,如果你在模拟器中运行你可以直接用finder打开link。
我正在使用我的 iPhone 来 运行 项目。 这是我的代码:
NSPersistentStoreCoordinator *persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:model];
NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
NSString *dataStorePath = [documentPath stringByAppendingPathComponent:@"NewsData.sqlite"];
NSURL *dataStoreURL = [NSURL fileURLWithPath:dataStorePath];
BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:dataStorePath];
NSLog(@"%@",fileExists);
sqlite3 *db;
if (sqlite3_open([dataStorePath UTF8String], &db) != SQLITE_OK) {
sqlite3_close(db);
}
布尔类型 'fileExists' 是正确的,但是当我使用 Finder 定位 sqlite 文件时,它不起作用。 任何人都可以帮助我吗?提前致谢。
当您在 iPhone 上 运行 时,您无法直接访问该文件,因为路径 dataStorePath
在您的设备上。
您可以通过 Xcode 下载应用程序容器:首先连接您的 iPhone。然后转到菜单中的Xcode->Window->设备,然后在左侧select您的iPhone。您的应用程序应该出现在 "Installed Apps" 列表中。 Select 它并单击设置按钮(在添加和删除按钮旁边)并单击 "Download Container..."。 Xcode 会问你要保存到哪里。然后在查找器中右键单击下载的容器,然后 select "Show Package Contents"。转到 AppData->Documents,您将看到您的 sqlite 文件 "NewsData.sqlite".
顺便说一句,如果你在模拟器中运行你可以直接用finder打开link。