ios objective-c iphone ios7 uidocumentinteraction

Al descartar la aplicación de correo iOS abierta desde UIDocumentInteractionController, se elimina la vista actual de ViewController en iOS7



objective-c iphone (3)

Intente esto, puede ayudar a resolver su problema.

NSURL* url = //...Your URL //[NSURL fileURLWithPath:path]; UIDocumentInteractionController* docController = [UIDocumentInteractionController interactionControllerWithURL:url]; docController.delegate = self; [docController presentPreviewAnimated:YES];

He implementado UIDocumentInteractionController en mi aplicación para mostrar las opciones abiertas. Funciona bien en dispositivos iOS8, pero en iOS7 cuando abro mi PDF en el correo desde opciones. Abre el editor de correo. Cuando descarto el editor de correo, también elimina un botón de menú de mi vista (que se agrega a la ventana). Pasé todo el día luchando con este problema, pero no pude encontrar ninguna solución. Cuando abro mi PDF en otras opciones, no hay problema. El problema es solo con el editor de correo con iOS7. Sé que UIDocumentInterfaceController tiene un problema con iOS7. Encontré el mismo problema en SO, pero esto es con la opción de vista previa de un vistazo rápido.

Aquí está mi código para abrir opciones.

[self.docInteractionController presentOptionsMenuFromRect:self.view.frame inView:self.view animated:YES];

Cualquier ayuda en esto será apreciada.

Gracias por adelantado.


para esto, puede verificar la versión de iOS si es <8 y luego abrir ese archivo pdf en un navegador web como este

UIWebView *webview = [[UIWebView alloc] init]; [self.view addSubview:webview]; NSString *path = [[NSBundle mainBundle] pathForResource:@"pdfFileName" ofType:@"pdf"]; NSURL *targetURL = [NSURL fileURLWithPath:path]; NSURLRequest *request = [NSURLRequest requestWithURL:targetURL]; [webview loadRequest:request];`


- (IBAction)previewDocument:(id)sender { NSURL *URL = [[NSBundle mainBundle] URLForResource:@"sample" withExtension:@"pdf"]; if (URL) { // Initialize Document Interaction Controller self.documentInteractionController = [UIDocumentInteractionController interactionControllerWithURL:URL]; // Configure Document Interaction Controller [self.documentInteractionController setDelegate:self]; // Preview PDF [self.documentInteractionController presentPreviewAnimated:YES]; } }