Dokumente an andere App übergeben

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Dokumente an andere App übergeben

    Hallo,

    ich habe folgendes Problem:
    Ich habe in meiner Anwendung verschiedenste Dokumente z.B. PDF, Word, Excel, Power Point usw.
    Diese Dokumente zeige ich nach der Auswahl in einer Webview in einem ModalView Controller an -soweit so gut.
    Jetzt möchte ich nach dem Drücken auf ein Button gerne den "File Sharing" bzw. "Öffnen mit" Dialog aufrufen. Dort sollen dann alle anderen Apps aufgelistet werden die diese Datei weitervearbeiten können, also z.B. Docs2Go für Power Point oder Excel.

    Soweit ich weiß muss das ganze über den UIActivityController gemacht werden, daher habe ich folgenden Code implementiert:

    Quellcode

    1. - (IBAction)openFileAction:(id)sender {
    2. if ([UIActivityViewController class]) {
    3. NSURL *url = [NSURL fileURLWithPath:self.localFileString];
    4. NSArray *dataToShare = @[url]; //Or whatever data you want to share - does not need to be an NSArray
    5. UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:dataToShare applicationActivities:nil];
    6. //[self presentViewController:activityViewController animated:YES completion:nil];
    7. if (self.popover==nil) {
    8. self.popover = [[UIPopoverController alloc] initWithContentViewController:activityViewController];
    9. }
    10. [self.popover presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
    11. [activityViewController release];
    12. }
    13. }
    Alles anzeigen


    Das Fenster erscheint wie geplant, allerdings zeigt es immer nur Message und Mail an... Und Docs2Go taucht nicht auf, wenn ich ein Dokument per E-Mail öffne dann taucht dieses aber eben auf...

    Soweit ich jetzt mit meiner Recherche gekommen bin hat es was mit den UTI's zu tun welche man in der plist definier kann, allerdings werde ich hier auch aus der vielzahl der Parameter usw. nicht wirklich schlau :(

    Kann mir bitte jemand sagen wie ich es hinbekomme die Dateien an andere Anwendungen zu exportieren?


    Danke
  • Stören nicht direkt, nur das mit der WebView habe ich halt schon. Ich dachte eben das ich das auch mit der WebView machen kann.

    Vielleicht habe ich es auch etwas unklar ausgedrückt.
    Ich möchte die Dokumente in meiner App anzeigen (Funktioniert wie gesagt schon über die UIWebView) aber um die Dokumente dann auch bearbeiten zu können möchte ich die Dokumente an andere Apps übergeben können.
    Und hier dachte ich eben dass das mit den UTI's und dem UIActivityViewController funktioniert, ich check da nur einfach nicht durch :(
  • Also ich konnte das Problem nun eigentlich sehr einfach lösen -_-
    Ich hab wohl einfach nicht ganz verstanden was der DocumentInteractionController macht... oder was er kann:

    Mit folgendem Code habe ich das Problem gelöst:

    Quellcode

    1. -(void)exportButtonTapped:(UIButton *)button {
    2. documentController = nil;
    3. documentController = [UIDocumentInteractionController interactionControllerWithURL:doc.fileURL];
    4. documentController.delegate = self;
    5. documentController.UTI = @"com.adobe.pdf";
    6. CGRect r = button.frame;
    7. [documentController presentOpenInMenuFromRect:r inView:[[button superview] superview] animated:YES];
    8. }
    Alles anzeigen