XCode4 - where to look for sqlite file created by core data

11,150

Solution 1

Those files are in ~/Library/Application Support/iPhone Simulator/[SDK version]/Applications/[App GUID]/Documents for me, both for Xcode 3 and Xcode 4.

If you have multiple SDKs, make sure to look in all the different SDK version directories for your app.

Solution 2

Follow these steps:

  1. In your applicationDocumentsDirectory function in AppDelegate.swift add this code:

    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. Look for this in the console, this will print out the location of the sqlite database, open your terminal and open whatever_the_location_path_was

  3. Download SQLite viewer http://sqlitebrowser.org/

  4. Right click the yourapp.sqlite file in the folder, choose Open With sqlitebrowser that you downloaded

Cheers!

Solution 3

For me it was in whatMuregSaid/[Application Guid]/Library/Application Support/[AppName]/filename.sqlite

Share:
11,150
vikmalhotra
Author by

vikmalhotra

Updated on June 20, 2022

Comments

  • vikmalhotra
    vikmalhotra almost 2 years

    I have just started using core data. I want to setup a pre-populated db. I read somewhere that core data creates a sqlite file when a core data app is run. I don't know where to look for it though.

    I followed the instructions over on this blog but did not find the sqlite file over the location specified directory /Users/<Username>/Library/Application Support/iPhone Simulator/User/Application/<Application GUID>/Documents/<database name.sqlite> nor in the application directory.

    here is my code for 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;
    }
    
  • Pierre de LESPINAY
    Pierre de LESPINAY over 9 years
    How to know the App GUID ?