Сохранить документ с любым расширением

Я делаю простой текстовый редактор в 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» и т. д.

person Kevin Chavez    schedule 13.11.2013    source источник
comment
Встречаются ли где-нибудь в вашем файле проекта слова «scala» или «jade»? Если вы создадите новый файл в TextEdit и сохраните его с окончанием «.scala», выдаст ли он ту же ошибку? Если дважды щелкнуть файл «.scala» в Finder, он где-нибудь откроется?   -  person Wil Shipley    schedule 11.01.2014
comment
Извините, что так долго отвечаю на ваши вопросы! Только что сделал в моем редактировании.   -  person Kevin Chavez    schedule 28.01.2014


Ответы (1)


Моя текущая мысль заключается в том, что, возможно, Sublime Text странно объявил UTI для .scala и .jade, из-за чего ваше приложение отключается, пытаясь сохранить эти два. Например, если Sublime сказал, что .scala должен иметь тип «папка» или что-то в этом роде, это может привести к проблемам… Хотя я просто предполагаю.

Чтобы проверить это, удалите Sublime Text и убедитесь, что он полностью удален с вашего рабочего стола, возможно, даже выйдите из системы и войдите в систему, чтобы очистить кеш UTI (шаманство!), и снова попробуйте свое приложение.

(Конечно, убедитесь, что вы можете снова получить Sublime Text после окончания эксперимента.)

person Wil Shipley    schedule 28.01.2014