Core Data file's Location iOS 10 Core Data file's Location iOS 10 swift swift

Core Data file's Location iOS 10


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.


Just try this i haven't check it on ios 10 but its working in previous all versions

Product > Scheme > Edit Scheme > Run > Arguments

Add this argument in "Arguments Passed on launch"

-com.apple.CoreData.SQLDebug 1

Everytime when application launches It will print path to databaseSee This argument look like this


Swift 3.x

Locate didFinishLaunchingWithOptions in your AppDelegate file and add this line.

let path = NSSearchPathForDirectoriesInDomains(.applicationSupportDirectory, .userDomainMask, true)print("\(path)")