2011-06-28 11 views
7

Właśnie zacząłem używać danych podstawowych. Chcę skonfigurować wstępnie wypełniony db. Czytałem gdzieś, że dane podstawowe tworzy plik sqlite, gdy uruchamiana jest podstawowa aplikacja danych. Nie wiem, gdzie go szukać.XCode4 - gdzie szukać pliku sqlite utworzonego przez podstawowe dane

Postępowałem zgodnie z instrukcjami na tym blog, ale nie znalazłem pliku sqlite w lokalizacji określonej katalogu /Users/<Username>/Library/Application Support/iPhone Simulator/User/Application/<Application GUID>/Documents/<database name.sqlite> ani w katalogu aplikacji.

Oto mój kod dla 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; 
} 

Odpowiedz

16

te pliki są w ~/Library/Application Support/iPhone Simulator/[SDK version]/Applications/[App GUID]/Documents dla mnie, zarówno dla Xcode 3 i Xcode 4.

Jeśli masz wiele SDK, upewnij się, aby spojrzeć na wszystkich różnych katalogach wersja SDK dla aplikacji.

+0

Jak poznać ** GUID aplikacji **? –

1

Dla mnie to było w whatMuregSaid/[Application GUID]/Library/Application Support/[NazwaAp] /filename.sqlite

0

nadzieja to pomoże trochę więcej

  1. /Users/Nazwa użytkownika/następnie naciśnij cmd + shift + G i napisz/Users/Username/Library, Teraz zobaczysz folder Library po przejściu do Application Support/iPhone Simulator/7.1 (lub 7.1-64)/Applications/F84D4CC8-326E-4A2E-8A37 -F1A755D6FCC4/Documents zobaczysz trzy pliki i jeden plik .sqlite.

  2. Aby zobaczyć strukturę i inne informacje tego pliku sqlite, najskuteczniejszym sposobem jest użycie SQLITE MANAGER (dodaj firefox https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/), dodaj go, a następnie kliknij TOOL.

1

Wykonaj następujące kroki:

  1. w funkcji applicationDocumentsDirectory w AppDelegate.swift dodać ten kod:

    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. Spójrz na to w konsoli, to wydrukować lokalizację bazy danych sqlite, otwórz terminal i open whatever_the_location_path_was

  3. widz pobierania SQLite http://sqlitebrowser.org/

  4. prawym przyciskiem myszy plik yourapp.sqlite w folderu, wybierz Otwórz za pomocą sqlitebrowser że pobrałeś

Cheers!

Powiązane problemy