Почему мое приложение создает нуль-байтовую базу данных в каталоге документов?IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Почему мое приложение создает нуль-байтовую базу данных в каталоге документов?

Сообщение Anonymous »

Я удалил свое приложение и снова запустил его через Xcode. В каталоге документов не было файлов, поэтому я мог скопировать свой 32-байтовый файл SQLite с таблицами из основного пакета.
После того, как я его удалил, он создает нулевой байтовый файл SQLite, если в каталоге документов нет файла. Итак, в делегате приложения правильно указано, что он есть, хотя это не тот файл, который мне нужен. Если в iTunes я удаляю файл, он копирует правильный файл. Это происходит как в эмуляторе, так и на устройстве. Xcode 10.1 и Swift 4.2:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
Fabric.with([Crashlytics.self])

let sourcePath = Bundle.main.path(forResource: "mydb", ofType: "db")!
let fileManager = FileManager.default
let doumentDirectoryPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as NSString
let destinationPath = doumentDirectoryPath.appendingPathComponent("mydb")
if !fileManager.fileExists(atPath: destinationPath) {
do {
try fileManager.copyItem(atPath: sourcePath, toPath: destinationPath)
}
catch
{
os_log("error copying database")
Crashlytics.sharedInstance().recordError(error)
print(error)
}

}

return true
}

Код, открывающий файл:
import Foundation
import SQLite
import os.log

var connected: Bool
//MARK: - private attributes
var db: Connection?

//MARK: - constructor
init() {
let path = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first!
do {
db = try Connection("\(path)/mydb.db")
connected = true
}
catch {
connected = false
}
}


Подробнее здесь: https://stackoverflow.com/questions/536 ... -directory
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как обернуть байтовую строку в объект BytesIO с помощью Python?
    Anonymous » » в форуме Python
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • Массив входных байтов Java имеет неправильную 4-байтовую конечную единицу
    Anonymous » » в форуме JAVA
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Как преобразовать строку в байтовую строку в Python?
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Как бы вы сжали 256-байтовую строку, состоящую только из «F» и «G»?
    Anonymous » » в форуме C#
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Как я могу хранить `id's в Python, не платя 28-байтовую цену?
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous

Вернуться в «IOS»