Pregunta

Estoy usando uidocumentInteractionController para abrir un archivo en otra aplicación, Dropbox.

Lo que estoy tratando de hacer es abrir el archivo en otra aplicación específica, pero solo me administré hasta ahora para mostrar 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?

¿Fue útil?

Solución

Estaría encantado de ser contradicto, pero creo que esto no es posible (al menos hasta eOS 4).

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 de aplicaciones de UIA y también Implementación de esquemas de URL personalizados En la Guía de programación de aplicaciones iOS). Que yo sepa, Dropbox no ha implementado un esquema de URL personalizado. Y, dado eso, este enfoque está cerrado.

UidocumentationController es bastante opaco. Puedes convencerlo en diciéndole si hay alguna aplicación en el dispositivo que abrirá su archivo. Pero no está claro que puedas hacer mucho más.

Otros consejos

Si desea ofrecer un archivo abierto en una aplicación específica, simplemente agregue (usando Swift 3.0):

docController.uti = @"com.dropbox.ios";
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top