Как я заставляю свое приложение обнаруживаться в меню «Open in...» на iOS для определенного типа документа?
Q: Как я заставляю свое приложение обнаруживаться в меню «Open in...» на iOS для определенного типа документа?
A: Необходимо зарегистрировать типы документов, которые приложение может открыть с iOS. Чтобы сделать это, необходимо добавить тип документа к Info.plist приложения для каждого типа документа, который может открыть приложение. Дополнительно, если какие-либо из типов документов не будут известны iOS, то необходимо будет предоставить Uniform Type Identifier (UTI) для того типа документа.
Добавление типа документа
Для добавления типа документа делают следующее:
В Вашем проекте XCode выберите цель, к которой Вы хотите добавить тип документа.
Выберите вкладку Info.
Щелкните по кнопке раскрытия для Типов документов для открытия типов документов.
Щелкните «+» кнопка.
В недавно создаваемом типе документа:
Введите имя типа документа.
В «Types» раздел заполняют UTI для нового типа.
Обеспечьте значок для документа.
Щелкните по треугольнику раскрытия для открытия Additional document type properties.
Щелкните в таблице для добавления нового ключа и значения.
Для типа значения ключа: CFBundleTypeRole.
Для типа значения: Редактор.
Щелкните + кнопка для добавления другой пары ключ/значение.
Для типа значения ключа: LSHandlerRank.
Для типа значения: Владелец.
Добавление пользовательского UTI
Если тип документа, который Вы добавляете, будет пользовательским типом документа или типом документа, о котором уже не знает iOS, то необходимо будет определить UTI для типа документа. Для добавления нового UTI делают следующее:
В Вашем XCode проект выбирает цель, к которой Вы хотите добавить новый UTI.
Выберите вкладку Info.
Щелкните по кнопке раскрытия для Экспортируемого UTIs.
Щелкните «+» кнопка.
Выберите «Add Exported UTI».
В поле Description заполните описание UTI.
В поле Identifier заполните идентификатор для UTI.
В Conforms To поле заполняет список UTIs, которому соответствует этот новый UTI.
Переключите “Дополнительный импортированный треугольник раскрытия” свойств UTI для открытия таблицы, где можно добавить некоторую дополнительную информацию.
Щелкните в пустой таблице и списке элементов, которые могут быть добавлены к таблице, будет выведен на экран.
Введите в «UTTypeTagSpecification».
Установите тип в Словарь.
Щелкните по треугольнику раскрытия, чтобы открыть его и щелкнуть + кнопка в строке таблицы для добавления записи.
Для “Нового элемента” изменяют имя на «public.filename-расширение».
Поскольку тип элемента изменяет его для «Выстраивания».
Переключитесь открытый элемент, который Вы просто добавили, и щелкните + кнопка в строке таблицы.
Для элемента 0 изменяют «значение» на расширение файла Вашего документа. Например, txt, PDF, docx, и т.д.
Пример
Вот конкретный пример пользовательского типа документа и экспортируемого UTI. Скажем, Вы добавляли новый тип документа информации о кошке. Если бы документ имел расширение файла 'catinfo' тогда, когда Вы были закончены с шагами, показанными выше, то Ваша информация была бы похожа на это:


Как протестировать Ваш пользовательский тип документа
Самый простой способ протестировать Ваш пользовательский тип документа состоит в том, чтобы послать Ваш пользовательский файл по электронной почте к Вашему устройству на iOS. Перейдите на адрес электронной почты и гарантируйте, что присоединение там. Коснитесь и содержите присоединяемый значок документа. Это должно открыть легкую сдобу на iPad или лист действия на iPhone, показывающем все приложения, открывающие Ваш тип документа. Ваше приложение должно обнаружиться в списке. Коснитесь своего значка приложения, и Ваше приложение должно запустить и получить документ от электронной почты.
Советы по устранению неисправностей
Если Ваш список свойств не устанавливается, правильно затем пытаясь открыться, Ваш пользовательский документ от почты может не работать. Признаки - то, что Ваше пользовательское приложение обнаруживается в списке приложений для Вашего пользовательского типа документа, но присоединение никогда не передается к Вашему приложению. Сравните свой пользовательский тип документа с один показанный на рисунке 1 этого Вопросы и ответы. Тщательно сравнение Вашего поля типа документа полем к примеру часто показывает ошибки.
Вот несколько вещей, которые необходимо проверить, когда вещи не работают как ожидалось:
Public.filename-дополнительный ключ записывается правильно.
Public.filename-дополнительный ключ/значение определяется как массив не строка.
Каждый элемент в public.filename-дополнительном массиве является строкой, не запускающейся с точки. Например, txt не .txt.
Тип в типе документа и идентификатор в экспортируемом (или импортированный) UTI являются точно тем же. Копирование и вставка этого значения являются самым простым способом гарантировать, что значения идентичны.
Связанные документы
Универсальный обзор идентификаторов типов
Универсальная ссылка идентификаторов типов
Информационная ключевая ссылка списка свойств: базовые ключи основы
История версии документа
| Дата | Примечания |
|---|---|
| 14.04.2014 | Обновленный снимок экрана. |
| 26.08.2013 | Редакционное обновление. |
| 18.07.2013 | Включенные разделы, как протестировать Ваш пользовательский тип документа и советы по устранению неисправностей. |
| 14.08.2012 | Новый документ, описывающий, как добавить типы документов к приложениям для iOS, таким образом, они могут быть открыты от Открытого в... меню. |