Я делаю простой текстовый редактор в Xcode.
Всякий раз, когда я пытаюсь сохранить документ в определенных расширениях, я получаю эту ошибку:
Я получаю это оповещение только для определенных расширений (.scala
, .jade
, ...). У меня нет проблем с сохранением файла с использованием большинства расширений, реальных или нет (.something
, .js
, .stackoverflow
, .html
, ...) или без расширения.
Это происходит только с документами без названия. Я без проблем могу открыть проблемные расширения (.scala
, .jade
, ...) и нормально с ними работать.
Любые подсказки относительно того, что может быть проблемой?
Вот мои типы документов, кстати:
Редактировать:
Отвечая на вопросы Уила Шипли
Имеется ли где-нибудь в файле вашего проекта слово "scala" или "jade"? Если вы создадите новый файл в TextEdit и сохраните его с окончанием «.scala», выдаст ли он ту же ошибку? Если дважды щелкнуть файл «.scala» в Finder, он где-нибудь откроется?
Не тогда, когда я разместил этот вопрос. Я добавил некоторый код, который извлекает расширение открываемого файла и пытается найти его в NSDictionary, чтобы узнать, с каким файлом работает пользователь (для целей автоматической подсветки синтаксиса и других вещей, для которых это может быть полезно). Однако ничто не мешает сохранить документ. Когда я разместил этот вопрос, я не думаю, что где-либо в проекте были напечатаны слова «scala» или «jade».
Это не выдает ту же ошибку, но не позволяет мне сразу сохранить ее с этим расширением. Другие расширения (я пробовал '.c', '.jad', '.scal') будут сохраняться без появления каких-либо диалогов. Однако, когда я пытаюсь сохранить с помощью «.jade» или «.scala», появляется это диалоговое окно:
Стоит отметить, что это также появляется, когда я пытаюсь сохранить как '.html'. Однако '.html' не создаст проблем для моего приложения.
- Они откроются в Sublime Text. Это единственное приложение, которое у меня есть, которое может открывать такие документы. Я думаю, стоит также отметить, что Finder автоматически скрывает расширение файла для этих типов; то, чего не происходит с искусственными расширениями, такими как «.scal», «.jad», «.stackoverflow» и т. д.