UidocumentInteractionController открывает файл в конкретном приложении без параметров

StackOverflow https://stackoverflow.com/questions/6807764

Вопрос

Я использую 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";
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top