2010-12-23 2 views
3

Soweit ich weiß, wird aus dem iOS SDK 3.2 die Dateitypbehandlung hinzugefügt und eine iOS-Anwendung kann sich mit einem Dateityp assoziieren, so dass andere Anwendungen diese Art von Datei mit der Anwendung öffnen können.Wie funktioniert "Öffnen mit" eine App im iPhone?

Aufgrund der Sandbox-Mechanismus in iOS, frage ich mich, wenn eine Datei in appA mit appB geöffnet ist, die sich mit dieser Art von Datei registriert, was wird passieren? Wird diese Datei in appB kopiert und sowohl appA als auch appB behalten eine Kopie dieser Datei? Wenn die Antwort ja lautet, ist es möglich, dass appB die Datei im Dokumentordner von appA öffnet? Ich kann keine Apple-Dokumentation zu diesem Thema finden.

Zum Beispiel, appA speichert ein Keynote-Dokument darin, wenn ich dieses Keynote-Dokument mit der Keynote-App öffne, ist es möglich, Keynote-App zu erlauben, dieses Dokument an Ort und Stelle zu bearbeiten, damit appA das aktualisierte Dokument sehen kann ?

Jede Hilfe wird geschätzt.

Antwort

9

Es gibt ein paar verschiedene Fragen hier.

Wenn Sie Ihre App registrieren, um Dateitypen mit dem Eintrag info.plist Document types zu bearbeiten, wird Ihre App in der Liste der Apps angezeigt, die beim Ausführen einer Aktion mit dieser Datei angezeigt werden (z. B. Tippen auf einen Dateianhang in einem Email). Wenn Ihre App gestartet wird, wird die Methode application:didFinishLaunchingWithOptions: als normal ausgeführt, und das launchOptions Wörterbuch enthält den Pfad zu der Datei, die an Ihre App gesendet wurde. Was Sie mit der Datei von dort machen, liegt an Ihnen, aber es ist eine Kopie der Datei, kein Link zu ihr. Wenn der Benutzer also Änderungen an der Datei in der ursprünglichen App vornimmt, muss er die App mit der neuen Datei erneut starten.

Sehen Sie hier für weitere Informationen: http://developer.apple.com/library/ios/#documentation/uikit/reference/UIApplicationDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intfm/UIApplicationDelegate/application:didFinishLaunchingWithOptions:

Sie keine anderen App-Dokument Ordner mit dem aktuellen SDK zugreifen können.

Auch für die Freigabe von Dokumenten in iTunes (wie Pages, Numbers usw.), schauen Sie sich die beiden Einträge info.plist Document types und UIFileSharingEnabled an. (Apples docs: http://developer.apple.com/library/ios/#documentation/General/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html#//apple_ref/doc/uid/TP40009252-SW20) Grundsätzlich, indem Sie UIFileSharingEnabled auf YES setzen, werden Sie das Verzeichnis /Documents Ihrer App in iTunes verfügbar machen. Dann ist es wieder an Ihnen, dem Benutzer zu zeigen, sobald er wieder in Ihrer App ist, was sich in diesem Verzeichnis befindet.

0

Sndbox über Standard-Unix-Berechtigungen Steuerelement implementiert. Alle Anwendungen werden in Ordnern mit einem eindeutigen Namen (eigentlich GUIDs) gespeichert, der Eigentümer für sie ist jedoch das gleiche mobile: mobile. So sieht es aus, als ob sie nur den vollständigen Dateipfad zur Anwendung senden, die die entsprechende Datei öffnet.

Verwandte Themen