XCode4 - где искать файл sqlite, созданный данными ядра - PullRequest
7 голосов
/ 28 июня 2011

Я только начал использовать основные данные. Я хочу установить предварительно заполненную базу данных. Я где-то читал, что данные ядра создают файл sqlite при запуске приложения данных ядра. Хотя я не знаю, где его искать.

Я следовал инструкциям в этом блоге , но не нашел файл sqlite в указанном каталоге /Users/<Username>/Library/Application Support/iPhone Simulator/User/Application/<Application GUID>/Documents/<database name.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;
}

Ответы [ 4 ]

16 голосов
/ 28 июня 2011

Эти файлы находятся в ~/Library/Application Support/iPhone Simulator/[SDK version]/Applications/[App GUID]/Documents для меня, как для Xcode 3, так и для Xcode 4.

Если у вас несколько SDK, обязательно просмотрите все разные каталоги версий SDK для вашего приложения.

1 голос
/ 20 марта 2016

Выполните следующие действия:

  1. В вашей функции applicationDocumentsDirectory в AppDelegate.swift добавьте этот код:

    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)")

  2. Найдите это в консоли, это распечатает местоположение базы данных sqlite, откроет ваш терминал и open whatever_the_location_path_was

  3. Загрузить средство просмотра SQLite http://sqlitebrowser.org/

  4. Щелкните правой кнопкой мыши файл yourapp.sqlite в папке, выберите «Открыть с помощью sqlitebrowser», который вы скачали

Ура!

1 голос
/ 17 апреля 2013

Для меня это было в whatMuregSaid / [Application Guid] / Библиотека / Поддержка приложений / [AppName] /filename.sqlite

0 голосов
/ 10 ноября 2014

надеюсь, это поможет вам немного больше

  1. / Пользователи / Имя пользователя /, затем нажмите cmd + shift + G и напишите / Пользователи / Имя пользователя / Библиотека, Теперь вы увидите папку библиотеки послеперейдите в раздел Поддержка приложений / iPhone Simulator / 7.1 (или 7.1-64) / Applications / F84D4CC8-326E-4A2E-8A37-F1A755D6FCC4 / Документы, которые вы увидите три файла, и один файл .sqlite.

  2. Чтобы просмотреть структуру и другую информацию этого sqlite-файла, наиболее эффективным способом является использование SQLITE MANAGER (добавьте Firefox https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/), добавьте его и нажмите TOOL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...