Я разрабатываю приложение macOS для редактирования файлов, но получаю довольно досадную ошибку при попытке использовать NSDocumentController.shared.makeDocument
для создания нового NSDocument
экземпляра из URL-адреса файла.
Ниже приведенПростой пример того, как я звоню makeDocument
.Файл test.md
существует на диске.
let url = URL(fileURLWithPath: "/Users/me/Desktop/test.md"
do {
let newDocument = try NSDocumentController.shared.makeDocument(withContentsOf: url, ofType: url.pathExtension)
print("Created \(newDocument)")
} catch {
print("Error: \(error)")
}
Проблема заключается в том, что этот вызов try
завершается неудачно и достигает блока catch
.Я получаю следующую ошибку:
Ошибка: Ошибка Domain = NSCocoaErrorDomain Code = 256 «Не удалось обработать« test.md », поскольку MyApp не может открывать файлы в формате« md ».»UserInfo = {NSLocalizedDescription = «test.md» не может быть обработан, поскольку MyApp не может открывать файлы в формате «md»., NSLocalizedFailureReason = MyApp не может открывать файлы в формате «md».}
Я полагаю, что правильно установил типы документов моего приложения для файлов уценки, как показано ниже:
![info](https://i.stack.imgur.com/8GvwI.png)
Я попытался очистить сборку, удалив производные данныеа также добавление типа 'Imported UTI' для файлов разметки, но, похоже, ничего не работает.
Странно то, что через File> Open я могу открывать .md
файлы, но не программно через makeDocument
.