0

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

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

您不能以名称末尾的扩展名“.scala”保存此文档。 所需的扩展名是“.(null)”"></p> <p>我仅对某些扩展名(<code>.scala</code>、<code>.jade</code>、.. .). 使用大多数扩展名(无论是否真实)保存文件都没有问题(<code>.something</code>、<code>.js</code>、<code>.stackoverflow</code>、<code >.html</code>, ...),或者没有扩展名。</p> <p>这只发生在无标题文档上。我可以毫无问题地打开有问题的扩展名(<code>.scala</code >, <code>.jade</code>, ...) 并正常使用它们。</p> <p>任何关于可能是什么问题的线索?</p> <p>这是我的文档类型,顺便说一句:</p> <p><

编辑:

回答威尔·希普利的问题

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

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

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

文本编辑对话框

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

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

1 回答 1

0

My current thought is maybe Sublime Text has declared the UTIs for .scala and .jade strangely, causing your app is tripping trying to save those two. For instance, if Sublime said .scala was supposed to be of type “folder” or something, that might case the issues...I’m just guessing, though.

To test this, trash Sublime Text and make sure it’s fully off your desktop, maybe even log out and log in to flush UTI cache (voodoo!), and try your app again.

(Make sure you can get Sublime Text back again after the experiment is over, of course.)

于 2014-01-28T19:39:40.493 回答