Je ne cherche pas à append mon application à la list «Ouvrir dans …», mais pour get la list elle-même. Et envoyer le file à une autre application.
Je travaille sur une application de communication interne, donc quand un user reçoit une pièce jointe, il peut ouvrir le file avec n'importe quelle application installée sur chaque périphérique …
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];
Implémenter les methods UIDocumentInteractionControllerDelegate
suivantes
#pragma mark - UIDocumentInteractionControllerDelegate //=================================================================== - (UIViewController *)documentInteractionControllerViewControllerForPreview:(UIDocumentInteractionController *)controller { return self; } - (UIView *)documentInteractionControllerViewForPreview:(UIDocumentInteractionController *)controller { return self.view; } - (CGRect)documentInteractionControllerRectForPreview:(UIDocumentInteractionController *)controller { return self.view.frame; }
Regardez UIDocumentInteractionController https://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIDocumentInteractionController_class/Reference/Reference.html et ici https://developer.apple.com/library/ios/#documentation/ FileManagement / Conceptuel / DocumentInteraction_TopicsForIOS / Articles / OpeningSupportedFileTypes.html # // apple_ref / doc / uid / TP40010412-SW1
Une autre option :
utilisez UIActivityViewController
comme disponible à partir d' iOS 6.0 >
version
//create instance with file URL UIActivityViewController *activity = [[UIActivityViewController alloc] initWithActivityItems:@[fileURLHere] applicationActivities:nil]; //present it [self presentViewController:activity animated:YES completion:NULL];
Remarque : Il peut y avoir un problème lors de l'utilisation de UIDocumentInteractionController
. Vérifiez uidocumentinteractioncontroller-stopped-working-ios-8