我有一个字典应用程序预装本地SQlite数据库。该应用程序在模拟器或设备上的调试和发布配置下都能很好地工作。
但是当我将其上传到TestFlight时,SQLite文件似乎缺失了,因为构建的大小似乎是2.6 MB,但我的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))
}
}
}
我尝试了以下方法,但没有成功:
- 调试与释放配置
- 检查存档的构建大小为12.2MB
- 检查目标成员是否勾选
- 将absoluteString更改为path
- 检查拷贝包资源(构建阶段) 中的文件
有人能帮我吗?
我解决了这个问题。这是由开发资产引起的,我的数据库文件以某种方式添加到目标开发资产中,因此它被归档
忽略了。