Wie kann ich Dateien von einer Anwendung auf eine andere auf demselben iOS-Gerät übertragen?

7

Ich schreibe eine iOS-Anwendung, die die Konvertierung einer Datei, die von einer anderen Anwendung auf demselben Gerät gespeichert wurde, in ein anderes Format durchführt. Wie kann ich Dateien von einer Anwendung auf eine andere im selben Gerät übertragen? Beachten Sie, dass die Dateien nicht-textuelle Dateien sind.

    
Lopper 12.08.2011, 02:06
quelle

2 Antworten

16

UIDocumentInteractionController ist dein Freund.

Grundsätzlich funktioniert das so:

  1. App 1 registriert sich, Dateien mit dem Typ XYZ
  2. verarbeiten zu können
  3. App 2 implementiert UIDocumentInteractionController und gibt Benutzern die Möglichkeit, "die Datei an App1 zu senden" (ich glaube, dies muss vom Benutzer aktiviert sein)
  4. App 1 implementiert -(BOOL)application:openURL:sourceApplication:annotation: und behandelt die übertragene Datei, die in Ihrem Documents/Inbox -Verzeichnis gespeichert wird. Von dort können Sie die Datei an anderer Stelle kopieren und dann manipulieren, indem Sie das Original aus dem Ordner "Posteingang" entfernen.

Klassenreferenz verfügbar hier

Anleitung zur Dokumentinteraktionsprogrammierung verfügbar hier

    
Rog 12.08.2011, 02:23
quelle
3

Wenn Sie beide Apps entwickeln, können Sie freigegebene Informationen im Schlüsselbund speichern, sofern Ihre Paket-IDs mit der gleichen Paket-ID übereinstimmen. Weitere Informationen finden Sie hier . Wenn Sie beide Anwendungen erstellen, können Sie natürlich auch ein URL-Schema verwenden, um base64-codierte Daten zu übergeben.

Update: Wie Rog unten gesagt hat, ist UIDocumentInteractionController großartig, aber es ist nur für 4.2 und höher verfügbar, so dass Sie einen Großteil Ihrer Benutzer aussparen, wenn Sie es verwenden möchten.

    
coneybeare 12.08.2011 02:23
quelle