Сохранить JSON WatchOS - PullRequest
       22

Сохранить JSON WatchOS

0 голосов
/ 05 марта 2019

Я пытаюсь сохранить json с некоторой структурой данных в моем приложении WatchOS:

enum Directory {
  case documents
  case caches
}  
static fileprivate func getURL(for directory: Directory) -> URL {
    var searchPathDirectory: FileManager.SearchPathDirectory

    switch directory {
    case .documents:
        searchPathDirectory = .documentDirectory
    case .caches:
        searchPathDirectory = .cachesDirectory
    }

    if let url = FileManager.default.urls(for: searchPathDirectory, in: .userDomainMask).last {
        return url
    } else {
        fatalError("Could not create URL for specified directory!")
    }
}
static func store<T: Encodable>(_ object: T, to directory: Directory, as fileName: String) {
    let url = getURL(for: directory).appendingPathComponent(fileName, isDirectory: false)

    let encoder = JSONEncoder()
    encoder.outputFormatting = .prettyPrinted
    do {
        let data = try encoder.encode(object)
        if FileManager.default.fileExists(atPath: url.path) {
            try FileManager.default.removeItem(at: url)
        }
        FileManager.default.createFile(atPath: url.path, contents: data, attributes: nil)
    } catch {
        fatalError(error.localizedDescription)
    }
}

, но когда я принудительно завершаю работу с моим приложением на Apple Watch или жду 1 день ...JSON удален.Что я делаю неправильно?Спасибо

...