UidocumentInteractionController открывает файл в конкретном приложении без параметров
-
25-10-2019 - |
Вопрос
Я использую UidocumentInteractionController, чтобы открыть файл в другом приложении, Dropbox.
То, что я пытаюсь сделать, это открыть файл в другом конкретном приложении, но мне до сих пор удалось отобразить поддерживаемые приложения и позволить пользователю выбирать.
UIDocumentInteractionController *udi = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath: jpgPath]];
[udi retain];
CGRect r = CGRectMake(0, 0, 300, 300);
[udi presentOpenInMenuFromRect:r inView:self.view animated:YES];
Это представляет список поддерживаемых приложений, но я хочу напрямую открыть файл с помощью Dropbox, без окна «Параметры». Любые идеи?
Решение
Я был бы рад быть противоречивым, но я думаю, что это невозможно (по крайней мере, до IOS 4).
Обычным способом открыть файл в другом приложении является использование пользовательской схемы URL. (См. Документацию для OpenUrl: в ссылке на класс UIAPPLICATION, а также Реализация пользовательских схем URL -адреса В Руководстве по программированию приложений iOS.) Насколько мне известно, Dropbox не реализовал пользовательскую схему URL. И, учитывая это, этот подход закрыт.
UidocumentationController довольно непрозрачный. Вы можете уговорить это в сообщая, есть ли какое -либо приложение на устройстве, которое откроет ваш файл. Анкет Но не ясно, что вы можете сделать многое другое.
Другие советы
Если вы хотите предложить открытый файл в конкретном приложении, просто добавьте (используя Swift 3.0):
docController.uti = @"com.dropbox.ios";