Сбой createFile файлового менеджера TVOS с ошибкой 1

Я пытаюсь создать файл json на устройстве Apple TV, чтобы сохранить некоторые данные, но createFile(...) всегда терпит неудачу, возвращая false. Я пробовал с absolutePath, относительным путем и путем без успеха. Переменная jsonData прекрасно создается в моей реализации и работает на Симуляторе:

self.fileName = "MyFileTest"
self.directory = .documentDirectory

let documentsDirectory = fileManager.urls(for: self.directory, in: .userDomainMask)[0]

self.fullyQualifiedPath = documentsDirectory.appendingPathComponent(self.fileName).appendingPathExtension("json").path

do {
    let jsonData = try convertObjectToData(data: dataForJson)
    if !fileManager.createFile(atPath: fullyQualifiedPath, contents: jsonData as Data, attributes: nil) {
        print("File Manager failed at createFile")
        throw FileErrors.FileNotSaved
    }
} catch {
    print("Unable to create json file \(error.localizedDescription)")
    throw FileErrors.FileNotSaved
}

Здесь createFile терпит неудачу и возвращает false, и выводится следующее:

Ошибка диспетчера файлов при создании файла. Невозможно создать файл json. Операция не может быть завершена. (TestAppTVOS.FileSaveHelper.(FileErrors в _70D0A1275AC2AFFFA4ED048E3A809030) ошибка 1.)

Значение переменной fullQualifiedPath:

/var/mobile/Контейнеры/Данные/Приложение/00DCB709-5EC6-40FC-BB21-D797EB4FE2F5/Документы/MyFileTest.json

Не знаете, что делать с этим сообщением об ошибке «Операция не может быть завершена» и «Ошибка 1»? Есть идеи, как заставить это работать правильно для Swift 3?


person Placeable    schedule 12.05.2017    source источник


Ответы (1)


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

Поскольку я нахожусь в режиме песочницы/отладке, я не мог писать в папку «Документы», поэтому вместо этого мне пришлось переключиться на папку «Кэш».

E.g

self.directory = .cachesDirectory

Работает сейчас.

person Placeable    schedule 12.05.2017
comment
но действительно странно, что папка документов создает столько проблем в AppleTV .... - person Chris; 31.01.2020