我有一个带有预加载本地 SQlite 数据库的字典应用程序。该应用程序在模拟器或设备上的调试和发布配置中运行良好。
但是当我上传到TestFlight时,SQLite文件好像不见了,因为构建的大小好像是2.6MB,但是我的SQLite文件大约是70MB+
我用下面的代码连接SQLite数据库。
let future = Future<Void, Error> { [weak self, weak bgQueue] promise in
bgQueue?.sync {
guard let path = Bundle(identifier: bundleIdentifier)?.url(forResource: resourceName, withExtension: "sqlite3")?.absoluteString else {
promise(.failure(RepoError.invalidFilePath)) // <-- error happens in TF
return
}
do {
self?.db = try Connection(path, readonly: true)
promise(.success(()))
} catch let error {
promise(.failure(error))
}
}
}
我尝试了以下但没有运气:
有人可以帮我吗?非常感谢!
我解决了这个问题。这是由Development Assets引起的,我的数据库文件以某种方式添加到Target Development Assets,所以它被归档忽略了