2012-03-01 21 views
7

No estoy buscando agregar mi aplicación a la lista "abrir en ...", sino obtener la lista. Y enviando el archivo a otra aplicación.¿Cómo usar la función "abrir en ..." para la aplicación iOS?

estoy trabajando en aplicación de comunicación interna, de modo que cuando el usuario recibe un archivo adjunto, s/él puede abrir el archivo con cualquier aplicación está instalada en cada dispositivo ...

Respuesta

11
UIDocumentInteractionController *controller = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:appFile]]; 
     self.controller.delegate = self; 
CGRect navRect = self.view.frame; 
[self.controller presentOptionsMenuFromRect:navRect inView:self.view animated:YES]; 

Implementar métodos siguientes UIDocumentInteractionControllerDelegate

#pragma mark - UIDocumentInteractionControllerDelegate 

//=================================================================== 
- (UIViewController *)documentInteractionControllerViewControllerForPreview:(UIDocumentInteractionController *)controller 
{ 
    return self; 
} 

- (UIView *)documentInteractionControllerViewForPreview:(UIDocumentInteractionController *)controller 
{ 
    return self.view; 
} 

- (CGRect)documentInteractionControllerRectForPreview:(UIDocumentInteractionController *)controller 
{ 
    return self.view.frame; 
} 
0

Otra opción:

uso UIActivityViewController se puede obtener de iOS 6.0 > versión

//create instance with file URL 
UIActivityViewController *activity = [[UIActivityViewController alloc] initWithActivityItems:@[fileURLHere] applicationActivities:nil]; 
//present it 
[self presentViewController:activity animated:YES completion:NULL]; 

Nota: Puede haber un problema usando UIDocumentInteractionController. Consultar uidocumentinteractioncontroller-stopped-working-ios-8

Cuestiones relacionadas