iOS TestFlight 构建中缺少 Sqlite 文件

问题描述 投票:0回答:1

我有一个带有预加载本地 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))
        }
    }
}

我尝试了以下但没有运气:

  • 使用发布配置进行调试
  • 检查存档的构建大小是 12.2MB
  • 检查目标成员是否被勾选
  • 将 absoluteString 更改为路径
  • 检查 Copy Bundle Resources(Build Phases) 中的文件

有人可以帮我吗?非常感谢!

swift app-store testflight combine
1个回答
0
投票

我解决了这个问题。这是由Development Assets引起的,我的数据库文件以某种方式添加到Target Development Assets,所以它被归档忽略了

© www.soinside.com 2019 - 2024. All rights reserved.