Sqlite с реальным устройством не работает, но на работе симулятора

Вопрос задан: 11 месяцев назад Последняя активность: 10 месяцев назад
up 0 down

я использую sqlite с этой библиотекой поэтому, когда я бегу на симуляторе, он работает хорошо, но когда я пытаюсь запустить на реальном устройстве, это выдает мне эту ошибку

Ошибка:

/ Var/мобильные/Контейнеры/данные/приложения/B8B355F9-6378-4862-9D06-84DA3FD06366/Документы
2019-01-02 19: 54: 23.476422 + 0200 Тест [3626: 1280621] [logging-persist] не может открыть файл в строке 42249 из [95fbac39ba]
2019-01-02 19: 54: 23.476491 + 0200 Test [3626: 1280621] [logging-persist] os_unix.c: 42249: (0) open (/ var/mobile/Containers/Data/Application/B8B355F9-6378-4862 -9D06-84DA3FD06366/DocumentsTest.sqlite3) - неопределенная ошибка: 0   Не удается подключиться к БД. Ошибка: Ошибка домена = SQLite.Result Code = 0 "(null)", [:]

и этот код, который я делаю соединение с дп:

    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)")
        }
    }
}

1 ответ

Возможно, для Вашего проекта будут необходимы бесплатные векторные карты. На нашем сайте представлены карты для всех стран.

Реклама

up 0 down accepted

Вам нужно добавить "/"

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