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
Then Go to Library -> Application Support -> filename.sqlite
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 database See 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)")