我正在开发一个用于编辑文件的 macOS 应用程序,但是在尝试使用从文件 URLNSDocumentController.shared.makeDocument
创建新实例时遇到了一个相当烦人的错误。NSDocument
下面是我如何调用的一个简单示例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
块。我得到的错误是:
错误:错误域=NSCocoaErrorDomain 代码=256“无法处理“test.md”,因为 MyApp 无法打开“md”格式的文件。” UserInfo={NSLocalizedDescription=“test.md” 无法处理,因为 MyApp 无法打开“md”格式的文件。, NSLocalizedFailureReason= MyApp 无法打开“md”格式的文件。}
我相信我已经为降价文件正确设置了我的应用程序的文档类型,如下所示:
我已经尝试清理构建,删除派生数据并为降价文件添加“导入的 UTI”类型,但似乎没有任何效果。
奇怪的是,通过 File > Open,我可以打开.md
文件,只是不能通过makeDocument
.