Приложение iOS, открываемое при нажатии на файл в приложении «Файлы» - PullRequest
0 голосов
/ 10 июня 2018

Некоторые приложения iOS с пользовательскими типами файлов запускаются автоматически при касании файла этого типа (например, «Страницы» запускается, если файл страниц открывается в приложении «Файлы»).Как приложение iOS, которое является владельцем UTI, может получить такое же поведение?(UTI, в частности, соответствует com.apple.package)

Я использую пример приложения BeerTracking от https://www.raywenderlich.com/133825/uiactivityviewcontroller-tutorial.Когда файл, экспортированный из приложения, нажимается в приложении «Файлы» / «Почта / Заметки», появляется пустой интерфейс предварительного просмотра быстрого просмотра, и только после этого пользователь может открыть файл в приложении, нажав «Отправить».

Ответы [ 2 ]

0 голосов
/ 20 июня 2018

Сначала необходимо включить Общий доступ к файлам .Добавив это значение 2 ключа ДА в ваш Info.plist файл

    1. UIFileSharingEnabled
    2. LSSupportsOpeningDocumentsInPlace

** Вы можете сделать больше, используя UIDocumentInteractionController link - https://developer.apple.com/documentation/uikit/uidocumentinteractioncontroller

  • Чтобы открыть файлдля ввода из приложения iOS-файлов в ваше приложение, вам необходимо иметь функцию облачного обмена в вашем приложении, чтобы ваше приложение могло обмениваться файлами в iCloud в папке, названной вашим приложением.

  • Затем выможет делиться любыми файлами на диске iCloud, и они будут отображаться в приложении для файлов по умолчанию для iOS.

  • При нажатии на любые файлы оттуда (пример - изображение, pdf, видео) они откроютсяв вашем приложении.

    UIFileSharingEnabled выполнит работу за вас.

0 голосов
/ 19 июня 2018

В info.plist добавьте ключ «Поддерживает открытие документов на месте» типа BOOLEAN и установите для него значение ИСТИНА.

Вы можете проверить с помощью

BOOL openInPlace = [options[UIApplicationOpenURLOptionsOpenInPlaceKey] boolValue];

в

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options

, если предоставленный URL является файлом, который должен быть открыт на месте (скорее всего, из приложения файлов).

...