我在模拟器文件系统中寻找SQLite文件。但是为什么SQLite文件(实际上)被嵌套在:
/用户/管理员/库/开发商/ CoreSimulator /设备/ 58B5B431-D2BB-46F1-AFF3-DFC789D189E8 /数据/容器/数据/应用/ 6F3B985F-351E-468F-9CFD-BCBE217A25FB /文件
但是在代码中我需要搜索它.applicationSupportDirectory然后立即在applicationSupportDirectory中找到它。
private var applicationSupportURL: URL {
let path = NSSearchPathForDirectoriesInDomains(
.applicationSupportDirectory,
.userDomainMask, true)
.first
return URL(fileURLWithPath: path!)
}
private lazy var storeURL: URL = {
let storeFileName = "\(self.storeName).sqlite"
return URL(fileURLWithPath: storeFileName,
}()
relativeTo: self.applicationSupportURL)
private var storeModel: NSManagedObjectModel? {
return
NSManagedObjectModel.modelVersionsFor(modelNamed: modelName)
.filter {
self.store(at: storeURL, isCompatibleWithModel: $0)
}.first
}
实际上没有applicationSupportDirectory。为什么呢?
答案 0 :(得分:0)
您可以使用以下代码行访问文档目录: iOS使用之前的所有组件来定位您的应用容器。
FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).last!