Search code examples
iosswiftcore-dataios-simulatorios10

Core Data file's Location iOS 10


I am trying to us SQLite Browsers to see my Core Data objects. I am not able to find where does the core data save its sql file. I looked into the app documents folder but there is nothing there.

Do you know where does the core data in IOS 10(simulator) save its SQLite files on?


Solution

  • I tested it on XCode 8 Swift 3 OS macOS Sierra

    IOS 10

    In Your Appdelegate.swift

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    
        let urls = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
         print(urls[urls.count-1] as URL)
    
        return true
    }
    

    1. The constant .documentDirectory says we are looking for Document directory

    2. The constant .userDomainMask to restrict our search to our application's sandbox.

    output

    file:///Users/Ashok/Library/Developer/CoreSimulator/Devices/F629F99F-C745-46EB-8A11-01BC9FF1E592/data/Containers/Data/Application/3B373C93-71A2-46E9-8AF7-EF407C39429F/Documents/
    

    Click on Go -> Go to Folder -> Paste Path -> Hit Enter

    enter image description here

    Then Go to Library -> Application Support -> filename.sqlite

    enter image description here

    Edited

    OR

    open your terminal and type find ~ -name 'HitTest.sqlite' and hit enter.

    Ashoks-MacBook-Pro:Desktop Ashok$ find ~ -name 'HitTest.sqlite'
    /Users/Ashok/Library/Developer/CoreSimulator/Devices/F629F99F-C745-46EB-8A11-01BC9FF1E592/data/Containers/Data/Application/3B373C93-71A2-46E9-8AF7-EF407C39429F/Documents/HitTest.sqlite
    

    From above output you can clearly see the path of your sqlite db

    You can use DB Browser for SQLite to open.