Ошибка типа файла - Какао - PullRequest
5 голосов
/ 11 января 2012

Итак, мы недавно отправили приложение на основе документов с досадным упущением: UTI для нашего основного типа документа осталась пустой У нас было имя для него, но идентификатор был пустым.

Все по-прежнему отлично работало, но потом мы пошли, чтобы добавить другой тип файла в микс. Новый тип файла - просто xml (соответствует public.xml). Мы настроили это и поместили в документ. Это когда мы поймали наш надзор за UTI первого типа документа.

Теперь, если мы коснемся этого типа документа, БУМ. Приложение не может читать файлы, которые оно создало такого типа. Мы действительно хотим это исправить, так как лучше это сделать?

Мой вопрос по сути: Как перенести основной тип документа в приложение на основе документов?

1 Ответ

1 голос
/ 14 января 2012

Во-первых, очень сложно отладить проблему такого типа на машине, которую вы используете для резки сборок. Динамическая система UTI запутывается относительно того, какому приложению принадлежат какие файлы. Чтобы решить эту проблему, есть команда, которую вы можете запустить в терминале, чтобы очистить ассоциации файлов в вашей системе.

Далее мы рассмотрели фактические типы документов нашего приложения. В конечном итоге мы хотим поддерживать только два типа документов: наш пользовательский тип и тип xml. Однако мы должны были сохранить тот пустой, динамически сгенерированный UTI, который был отправлен. В «Типах документов» у нас их три: два, которые мы на самом деле хотим поддерживать, и тот, который нам больше не нужен. Для первых двух наше приложение является «Редактором». Для прежней версии мы изменили его на «Читатель».

Еще одна вещь, которая действительно помогла нашей системе, это использование экспортированных импортированных UTI. Мы сообщили системе, что наше приложение импортирует тип XML и экспортирует два других.

Мы провели довольно серьезное тестирование, включая развертывание, и эта конфигурация работает как чудо.

...