我刚开始使用核心数据。我想设置一个预先填充的数据库。我在某处读到核心数据在运行核心数据应用程序时会创建一个sqlite文件。我不知道在哪里寻找它。
我按照blog上的说明进行操作,但未在指定目录/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;
}
答案 0 :(得分:16)
对于我来说,这些文件都在~/Library/Application Support/iPhone Simulator/[SDK version]/Applications/[App GUID]/Documents
,对于Xcode 3和Xcode 4都是如此。
如果您有多个SDK,请务必查看应用的所有不同SDK版本目录。
答案 1 :(得分:1)
对我来说,这是在whatMuregSaid / [Application Guid] / Library / Application Support / [AppName] /filename.sqlite
答案 2 :(得分:1)
请按照以下步骤操作:
在AppDelegate.swift的applicationDocumentsDirectory
函数中添加以下代码:
let urls = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)
// Look for this in the console, this will print out the location of the sqlite database, which you can then open with an SQLite viewer
print("urls.last \(urls.last)")
在控制台中查找,这将打印出sqlite数据库的位置,打开终端并open whatever_the_location_path_was
下载SQLite viewer http://sqlitebrowser.org/
右键单击文件夹中的yourapp.sqlite文件,选择“使用下载的sqlitebrowser打开”
干杯!
答案 3 :(得分:0)
希望这对你有所帮助
/ Users / Username /然后按cmd + shift + G并写入/ Users / Username / Library,现在您将看到Library文件夹,然后转到Application Support / iPhone Simulator / 7.1(或7.1-64) /应用/ F84D4CC8-326E-4A2E-8A37-F1A755D6FCC4 /文档 你会看到三个文件,一个是.sqlite文件。
要查看此sqlite文件的结构和其他信息,最有效的方法是使用SQLITE MANAGER(添加firefox https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/)添加它,然后单击工具。