Как запустить приложение для iPhone с документом, используя тип файла документа?

В этой теме мы узнаем, как связать Типы MIME и суффиксы файлов с вашим приложением для iPhone, поэтому ваше приложение будет вызываться, когда кто-то попытается открыть документ этого типа. Здорово.

Мне интересно, как вызвать эту магию из другого приложения: учитывая документ с известным типом MIME, как мне попросить iOS «запустить любое приложение, принимающее этот документ»?

Обратите внимание, я сказал «документ», а не «URL»… Я попытался вызвать UIApplication.openURL() с URL-адресом HTTP, указывающим на рассматриваемый документ (который находится на веб-сервере, который обслуживает его с правильным типом MIME), iPhone ( на самом деле iPad с версией 3.2 в этом случае) запускает Safari, который загружает документ, просматривает тип MIME, а затем показывает значок документа и кнопку с надписью «Открыть в [Другом приложении]». Это работает, но некрасиво и требует дополнительного и, казалось бы, ненужного перехода через Safari.

Если я сам загружу документ вручную, сохраню его во временном файле (с соответствующим суффиксом файла, который должен распознаваться «Другим приложением»), а затем вызову UIApplication.openURL(), используя URL-адрес файла file://, это просто не удастся.


person Archie    schedule 15.11.2010    source источник


Ответы (1)


Взгляните на UIDocumentInteractionController.

Пример здесь для iPad:

https://developer.apple.com/library/ios/#documentation/General/Conceptual/iPadProgrammingGuide/CoreApplication/CoreApplication.html#//apple_ref/doc/uid/TP40009370-CH6-SW12

(слегка прокрутите вверх до «Предварительный просмотр и открытие файлов» — этот якорь прокручивает страницу слишком далеко)

person Cheddar    schedule 15.11.2010
comment
спасибо... похоже, для этого нужно предоставить пользователю виджет для выбора приложения. Я хотел бы избежать этого, когда существует только одно приложение-обработчик, но, думаю, это придется сделать. - person Archie; 16.11.2010
comment
«К сожалению, эта страница не найдена». — Похоже, документ пропал ???? - person Martin; 26.07.2017
comment
Вот текущая документация для UIDocumentInteractionController: developer.apple.com/documentation/uikit/ - person Cheddar; 14.12.2017