2011-07-24 11 views
6

Estoy usando UIDocumentInteractionController para abrir un archivo en otra aplicación, DropBox.UIDocumentInteractionController Abrir archivo en una aplicación específica sin opciones

Lo que intento hacer es abrir el archivo en otra aplicación específica, pero hasta ahora solo he logrado visualizar las aplicaciones compatibles y permitir que el usuario elija.

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

Esto presenta una lista de aplicaciones compatibles, pero quiero abrir directamente el archivo con Dropbox, sin el cuadro de opciones. ¿Algunas ideas?

Respuesta

1

Estaría encantado de que me contradigan, pero creo que esto no es posible (al menos hasta iOS 4 inclusive).

La forma normal de abrir un archivo en otra aplicación es utilizar un esquema de URL personalizado. (Consulte la documentación de openURL: en la Referencia de la clase UIApplication y también en Implementing Custom URL Schemes en la Guía de programación de aplicaciones de iOS). Según mi leal saber y entender, Dropbox no implementó un esquema de URL personalizado. Y, dado que, este enfoque está cerrado.

UIDocumentationController es bastante opaco. Puede convencerlo en telling you whether or not there is any application on the device that will open your file. Pero no está claro que puedas hacer mucho más.

+0

Y si estamos hablando de Instagram? tiene el esquema instagram: // pero no conozco ninguna forma normal de pasar una imagen allí. –

+0

¿El iOS 5 quizás haya agregado algo para nosotros? No puedo encontrar nada, ¡pero pensé que podría preguntar en caso de que alguien lo haya hecho! – strawtarget

0

Si usted quiere ofrecer archivo abierto en una aplicación específica, basta con añadir (utilizando SWIFT 3.0):

docController.uti = @"com.dropbox.ios"; 
Cuestiones relacionadas