2011-07-24 12 views
6

Używam UIDocumentInteractionController do otwierania pliku w innej aplikacji, Dropbox.UIDocumentInteractionController Otwieranie pliku w określonej aplikacji bez opcji

Próbuję otworzyć plik w innej aplikacji, ale do tej pory udało mi się tylko wyświetlić obsługiwane aplikacje i umożliwić użytkownikowi wybór

UIDocumentInteractionController *udi = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath: jpgPath]]; 
[udi retain]; 
CGRect r = CGRectMake(0, 0, 300, 300); 
[udi presentOpenInMenuFromRect:r inView:self.view animated:YES]; 

Przedstawia listę obsługiwanych aplikacji, ale chcę bezpośrednio otworzyć plik za pomocą Dropbox, bez pola opcji. Jakieś pomysły?

Odpowiedz

1

Byłbym zachwycony, gdybym był temu przeciwny, ale myślę, że nie jest to możliwe (przynajmniej do iOS 4).

Normalnym sposobem otwarcia pliku w innej aplikacji jest użycie niestandardowego schematu URL. (Zobacz dokumentację dla openURL: w podręczniku UIApplication Class Reference, a także Implementing Custom URL Schemes w Podręczniku programowania aplikacji iOS.) Zgodnie z moją wiedzą, Dropbox nie wdrożył niestandardowego schematu URL. I, zważywszy na to, podejście to jest zamknięte.

UIDocumentationController jest dość nieprzejrzysty. Możesz go przekonać do telling you whether or not there is any application on the device that will open your file. Ale nie jest jasne, czy możesz zrobić znacznie więcej.

+0

A jeśli mówimy o Instagram? ma schemat instagram: //, ale nie znam żadnego normalnego sposobu przekazania tam obrazu. –

+0

Czy iOS 5 może coś dla nas dodał? Nie mogę znaleźć niczego, ale pomyślałem, że zapytam na wypadek, gdyby ktoś miał !! – strawtarget

0

Jeśli chcesz zaoferować otwarty plik w określonej aplikacji, wystarczy dodać (za pomocą szybkiego 3.0):

docController.uti = @"com.dropbox.ios"; 
Powiązane problemy