Создание собственного UTI для приложения iOS

Приложение, которое я разрабатываю, имеет пользовательский формат файла для его файлов, и я хотел бы иметь возможность использовать функцию "Открыть In..." для iOS, которая позволяет пользователям, например. напишите друг другу файл, а затем откройте его непосредственно в приложении.

Я дошел до добавления материала CFBundleDocumentType в файл Info.plist, но проблема в том, что LSItemContentTypes. Из того, что я прочитал, мне нужно предоставить фактический файл как UTI, а не просто сказать ".myfileextension", и я не могу много узнать о том, как создать UTI в приложении iOS.

Кто-нибудь знает?

Ответ 1

Вам нужно прочитать следующие темы от Apple:

Принятие унифицированных идентификаторов типов
Введение в Единый идентификатор идентификаторов типов
Объявление новых унифицированных идентификаторов типов

Из документации:

Если ваше приложение использует проприетарные форматы данных, вы должны объявить их в файле Info.plist вашего пакета приложений. Некоторые рекомендации:

  • Строка UTI должна быть уникальной. После обратного DNS-формата, начинающегося с com.companyName, это простой способ обеспечить уникальность. Хотя система может поддерживать разные строки UTI с той же спецификацией, обратное неверно.

  • Если ваш код зависит от сторонних типов UTI, которые могут отсутствовать в системе, вы должны объявить эти ИМП как импортированные типы в ваш комплект.

  • Обязательно добавьте информацию о соответствии, если ваш собственный тип является подтипом одного или нескольких существующих типов. В большинстве случаев вам не следует указывать соответствие непубличному типу, если вы также не объявляете этот тип в своем пакете. Список общедоступных и определяемых Apple UTI см. В разделе "Идентификаторы унифицированного идентификатора системы"