2012-05-09 2 views
0

Мне нужно открыть неподдерживаемый файл Apple в моем приложении ipad с помощью функции «Открыть в». Расширение файла в «.lasso». Я сказал, что файл не поддерживается Apple, потому что я не могу найти его описание в Apple System-Declared Uniform Type Identifiers.Как открыть файл, не поддерживаемый Apple, в нашем приложении ipad

Я попытался решить, что с использованием CFBundleDocumentTypes в info.plist, но я до сих пор не могу его открыть. я был написать это в моем PLIST:

enter image description here

enter image description here

, но когда я пытаюсь открыть .lasso файл из другого приложения, всегда показывать предупреждение «Не удается открыть этот файл в другом приложениях ».

Кто-нибудь знает, как его решить?

ответ

0

Вам необходимо создать свой собственный UTI для вашего типа файла, что-то вроде com.yourcompany.lasso. Ваш Info.plist требует экспортировать public.plain-text UTI, который, конечно, уже существует. Вы также можете перечислить ранее существовавшие UTI, которые соответствуют вашему новому UTI. Вы не показываете, что находится под ключом «Conforms to UTIs» на скриншоте, но, по-видимому, он должен быть public.plain-text, если .lasso-файлы - это действительно простой текст. (Если существует определенная кодировка для .lasso-файлов, таких как UTF-8, вы должны рассмотреть что-то более конкретное, например public.utf8-plain-text.)

Кроме того, вы должны либо иметь собственный тип MIME, либо не использовать его вообще. Вы не хотите переопределять «текстовый» тип MIME, чтобы предположить, что все потоки данных этого типа являются файлами Lasso, не так ли?

И почему вы используете все-шапки для «LASSO». Я предполагаю, что в реальном использовании файлы будут иметь расширение в нижнем регистре, например «.lasso». Правильно?

+0

да, это .lasso, я изменю его, но .lasso не мой, это еще одно приложение или языковое расширение, найдет ли я его собственный UTI? Я найду http://www.fileinfo.com/extension/lasso, о lasso –

+0

Если расширение не принадлежит вам, то вы не экспортируете UTI, вы его импортируете. В идеале вы копируете экспорт из исходного приложения и просто меняете его с экспорта на импорт. Хм, я исследовал сайт LassoSoft. Оригинал - это сервер, а не приложение, поэтому он не экспортирует UTI. Вы можете просто сделать это. Используйте свой собственный идентификатор обратного домена. Вы не имеете права определять один в com.lassosoft, и если бы вы это сделали, вы могли бы столкнуться с тем, который они определяют сейчас или в будущем. –

+0

хорошо, спасибо за объяснение @ Ken Thomases :) –

Смежные вопросы