Документы iOS / Ассоциации типов файлов - SVG - PullRequest
0 голосов
/ 11 октября 2019

Я работаю над своего рода SVG-редактором для iOS. Работа с файлами через (ITunes) общий доступ к файлам работает хорошо, но я также хочу, чтобы приложение обрабатывало SVG-файлы в масштабе всей системы - почтовые вложения, аэродромы, SVG-файлы на веб-страницах и т. Д.

Для UTI, известной iOS (например, PDF)это просто. Для пользовательского UTI это немного больше работы - определение экспортированного UTI и т. Д. - но работает хорошо.

Теперь SVG - это отдельная история. Существует официальный UTI public.svg-образ, но он не известен iOS. Я пробовал много комбинаций Тип документа и Импортированный / Экспортированный UTI, но ничто, кажется, не убеждает iOS, что мое приложение может иметь дело с файлами SVG. LSHandlerRank не имеет значения, и iOS не заботится о CFBundleTypeRole.

Разве просто невозможно зарегистрироваться в качестве редактора формата файлов SVG на iOS?

Ниже приведена минимальная настройка, которая должен работать в соответствии с документами.

<key>CFBundleDocumentTypes</key>
<array>
  <dict>
    <key>CFBundleTypeName</key>
    <string>SVG File</string>
    <key>LSItemContentTypes</key>
    <array>
      <string>public.svg-image</string>
    </array>
  </dict>
</array>

<key>UTImportedTypeDeclarations</key>
<array>
  <dict>
    <key>UTTypeConformsTo</key>
    <array>
      <string>public.image</string>
    </array>
    <key>UTTypeDescription</key>
    <string>Scalable Vector Graphics</string>
    <key>UTTypeIdentifier</key>
    <string>public.svg-image</string>
    <key>UTTypeTagSpecification</key>
    <dict>
      <key>public.filename-extension</key>
      <array>
        <string>svg</string>
      </array>
    </dict>
  </dict>
</array>
...