【问题标题】:SqlLite with real device not work but on simulator work具有真实设备的 Sqlite 无法正常工作,但可以在模拟器上工作
【发布时间】:2019-01-26 11:12:35
【问题描述】:

我使用的是sqlLite with this library,所以当我在模拟器上运行时,它运行良好,但当我尝试运行到真实设备时,它给了我这个错误

错误:

/var/mobile/Containers/Data/Application/B8B355F9-6378-4862-9D06-84DA3FD06366/Documents
2019-01-02 19:54:23.476422+0200 测试[3626:1280621] [logging-persist] 无法在 [95fbac39ba] 的第 42249 行打开文件
2019-01-02 19:54:23.476491+0200 测试[3626:1280621] [logging-persist] os_unix.c:42249: (0) open(/var/mobile/Containers/Data/Application/B8B355F9-6378-4862 -9D06-84DA3FD06366/DocumentsTest.sqlite3) - 未定义错误:0 无法连接数据库,错误为:Error Domain=SQLite.Result Code=0 "(null)", [:]

以及我与 dp 建立连接的这段代码:

    import Foundation
    import SQLite
    import SQLite3

    class Database{

    static let shared = Database()
    public let connection: Connection?
    public let databaseName = "Test.sqlite3"

    init() {
        let dbPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first as! String
        print(dbPath)
        do{
            connection = try Connection("\(dbPath)\(databaseName)")
        }catch{
            connection = nil
            let nserror = error as NSError
            print("Can't connect to DB, Error is: \(nserror), \(nserror.userInfo)")
        }
    }
}

【问题讨论】:

    标签: xcode sqlite swift4.2


    【解决方案1】:

    你需要添加一个“/”

     connection = try Connection("\(dbPath)/\(databaseName)")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-29
      • 1970-01-01
      • 1970-01-01
      • 2019-05-09
      相关资源
      最近更新 更多