【问题标题】:Save document using any extension使用任何扩展名保存文档
【发布时间】:2013-11-13 02:25:01
【问题描述】:

我正在 Xcode 中制作一个简单的纯文本编辑器。

每当我尝试以特定扩展名保存文档时,我都会收到此错误:

我仅针对某些扩展程序(.scala、.jade、...)收到此警报。使用大多数扩展名(无论是否真实(.something、.js、.stackoverflow、.html、...)或不使用扩展名)保存文件都没有问题。

这只发生在无标题文档中。我可以毫无问题地打开有问题的扩展(.scala、.jade、...)并正常使用它们。

关于可能是什么问题的任何线索?

这是我的文档类型,顺便说一句:

编辑:

回答威尔·希普利的问题

“scala”或“jade”是否出现在项目文件中的任何位置?如果您在 TextEdit 中创建一个新文件并以“.scala”结尾保存它,它是否会引发相同的错误?如果您在 Finder 中双击“.scala”文件,它会在某处打开吗?

  • 当我发布这个问题时没有。我添加了一些代码来提取正在打开的文件的扩展名并尝试在 NSDictionary 中找到它以了解用户正在使用的文件(用于自动语法突出显示和其他可能有用的事情)。然而,没有什么会干扰保存文档。当我发布这个问题时,我认为项目的任何地方都没有输入“scala”或“jade”。

  • 它不会引发相同的错误,但它不允许我立即使用该扩展程序保存它。其他扩展名(我试过'.c'、'.jad'、'.scal')将保存而不会弹出任何对话框。当我尝试使用 '.jade' 或 '.scala' 保存时,会出现此对话框:

值得注意的是,当我尝试另存为“.html”时,它也会出现。但是,'.html' 不会对我的应用程序造成任何麻烦。

  • 它们将在 Sublime Text 中打开。这是我唯一可以打开此类文档的应用程序。我想值得注意的是 Finder 会自动隐藏这些类型的文件扩展名。 '.scal'、'.jad'、'.stackoverflow' 等虚构的扩展不会发生这种情况。

【问题讨论】:

  • “scala”或“jade”是否出现在项目文件中的任何位置?如果您在 TextEdit 中创建一个新文件并以“.scala”结尾保存它,它是否会引发相同的错误?如果您在 Finder 中双击“.scala”文件,它会在某处打开吗?
  • 很抱歉这么长时间来回答您的问题!刚刚在我的编辑中做了。

标签: objective-c save file-extension nsdocument uti


【解决方案1】:

我目前的想法是 Sublime Text 奇怪地声明了 .scala 和 .jade 的 UTI,导致您的应用程序在尝试保存这两个时出错。例如,如果 Sublime 说 .scala 应该是“文件夹”类型或其他类型,那可能会出现问题......不过我只是在猜测。

要对此进行测试,请删除 Sublime Text 并确保它完全脱离您的桌面,甚至可以注销并登录以刷新 UTI 缓存(巫毒!),然后再次尝试您的应用。

(当然,请确保您可以在实验结束后再次获取 Sublime Text。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-24
    • 2019-12-29
    • 2013-04-29
    • 1970-01-01
    • 2011-10-10
    • 1970-01-01
    相关资源
    最近更新 更多