2016-09-27 21 views
8

Tôi đang cố gắng cho chúng tôi Trình duyệt SQLite xem các đối tượng Dữ liệu cốt lõi của mình. Tôi không thể tìm thấy dữ liệu cốt lõi lưu tệp sql của nó ở đâu. Tôi nhìn vào thư mục tài liệu ứng dụng nhưng không có gì ở đó cả.Vị trí của tệp dữ liệu chính iOS 10

Bạn có biết dữ liệu cốt lõi trong IOS 10 (mô phỏng) lưu tệp SQLite của nó ở đâu không?

Trả lời

15

Tôi đã thử nghiệm nó trên XCode 8 Swift 3 hệ điều hành MacOS Sierra

IOS 10

In Your Appdelegate.swif t

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. Consta nt .documentDirectory nói rằng chúng ta đang tìm kiếm tài liệu thư mục

2. Hằng số .userDomainMask để hạn chế tìm kiếm của chúng tôi để sandbox ứng dụng của chúng ta.

đầu ra

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

Bấm vào Bắt đầu -> Go to Folder -> Paste Path -> Nhấn Enter

enter image description here

Sau đó Tới Library -> Ứng dụng Hỗ trợ -> filename.sqlite

enter image description here

Sửa

HOẶC

mở terminal và gõ find ~ -name 'HitTest.sqlite' và nhấn 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 

Từ trên đầu ra bạn có thể thấy rõ con đường của SQLite db của bạn

Bạn có thể sử dụng DB Browser for SQLite để mở.

4

Chỉ cần cố gắng này tôi đã không kiểm tra nó trên ios 10 nhưng làm việc của nó ở trước tất cả các phiên bản

Sản phẩm> Scheme> Edit Scheme> Run> Arguments

Thêm lập luận này trong "Arguments thông qua ngày ra mắt "

-com.apple.CoreData.SQLDebug 1

Mỗi khi ứng dụng ra mắt Nó sẽ in đường dẫn đến cơ sở dữ liệu See This argument look like this

+0

Cảm ơn bạn đã trả lời. Tôi đã thử nó nhưng nó không hoạt động. Tôi đặt dưới các đối số thông qua khi khởi động, -com.apple.CoreData.SQLDebug 1, nhưng điều này không in bất cứ điều gì. Bạn có biết tại sao ? –

+1

@IdanAviv: Xem http://stackoverflow.com/a/39679571/1187415. –

+0

Cảm ơn Martin! –

0

Ví Xcode 8.0 (iOS 10): -

Đường dẫn đến các cửa hàng khăng khăng .sqlite là:

/Users/Ashish/Library/Developer/CoreSimulator/Thiết bị/"YourDeviceId "/ data/Container/dữ liệu/Application /" Application Id "/ Library/Application Support /" FileNamePassedInPersistentContainer.sqlite"

3

Swift 3.x

Xác định vị trí didFinishLaunchingWithOptions trong tệp AppDelegate của bạn và thêm dòng này.

let path = NSSearchPathForDirectoriesInDomains(.applicationSupportDirectory, .userDomainMask, true) 
    print("\(path)") 
Các vấn đề liên quan