Wie aktiviere ich die Dateifreigabe für meine App?

158

Ich habe eine Bildbearbeitungs-App, mit der Benutzer Effekte auf Fotos anwenden können. Wie kann ich es aktivieren, damit Benutzer meine App in iTunes auf der Registerkarte "Dateifreigabe" sehen und dann einfach Fotos per Drag & Drop in die App ziehen können?

Einige der eBook-Reader wie Stanza funktionieren so und es wäre eine coole Option. Vielleicht kann jemand auf ein Tutorial oder eine Ressource hinweisen, in der erläutert wird, wie diese Technik aktiviert und verwendet wird.

Stolzes Mitglied
quelle

Antworten:

281

Sie müssen nur den Schlüssel UIFileSharingEnabled( Application Supports iTunes file sharing) in der Info-Liste Ihrer App eingeben. Hier ist ein Link zur Dokumentation. Scrollen Sie nach unten zum Support-Teil für die Dateifreigabe.

In der Vergangenheit war es auch notwendig, CFBundleDisplayName( Bundle Display Name) zu definieren , wenn es nicht schon da war. Weitere Details hier .

Vin
quelle
57
Für diejenigen unter Ihnen, die wie ich herausgefordert sind: Die Anwendung unterstützt die gemeinsame Nutzung von iTunes-Dateien beim Bearbeiten der Datei info.plist in Xcode.
LavaSlider
Gibt es einen Grund, warum es in einer Anwendung keine Wirkung haben könnte? Ich habe es aktiviert, aber die App wird nicht in iTunes File Sharing
angezeigt
@rraallvv versuchen Sie es mit einem Entwicklungs-Build oder einem Ad-hoc-Build?
Vin
@rraallvv Sie müssen wahrscheinlich Ihre Dateitypen einrichten ... (Dokumenttypen unter Ziel / Info)
Nielsbot
Und falls jemand anderes Haare herauszieht, die nicht funktionieren, überprüfen Sie, ob Sie möglicherweise mehr als eine * Info.plist haben.
Tony Adams
42

Laut Apple Doc :

Unterstützung für die
gemeinsame Nutzung von Dateien Mit der Unterstützung für die gemeinsame Nutzung von Dateien können Apps Benutzerdatendateien in iTunes 9.1 und höher verfügbar machen. Eine App, die ihre Unterstützung für die Dateifreigabe erklärt, stellt dem Benutzer den Inhalt ihres Verzeichnisses / Documents zur Verfügung. Der Benutzer kann dann Dateien nach Bedarf aus iTunes in dieses Verzeichnis hinein- und aus diesem heraus verschieben. Mit dieser Funktion kann Ihre App keine Dateien für andere Apps auf demselben Gerät freigeben. Für dieses Verhalten ist das Pasteboard oder ein Dokumentinteraktions-Controller-Objekt erforderlich.

Gehen Sie wie folgt vor, um die Dateifreigabe für Ihre App zu aktivieren:

  1. Fügen Sie den Schlüssel UIFileSharingEnabled zur Info.plist-Datei Ihrer App hinzu und setzen Sie den Wert des Schlüssels auf YES . (Der tatsächliche Schlüsselname lautet "Anwendung unterstützt iTunes-Dateifreigabe")

  2. Legen Sie alle Dateien, die Sie freigeben möchten, im Dokumentverzeichnis Ihrer App ab.

  3. Wenn das Gerät an den Computer des Benutzers angeschlossen ist, zeigt iTunes auf der Registerkarte Apps des ausgewählten Geräts einen Abschnitt zur Dateifreigabe an.

  4. Der Benutzer kann Dateien zu diesem Verzeichnis hinzufügen oder Dateien auf den Desktop verschieben.

Apps, die die Dateifreigabe unterstützen, sollten erkennen können, wann Dateien zum Verzeichnis "Dokumente" hinzugefügt wurden, und entsprechend reagieren. Beispielsweise kann Ihre App den Inhalt neuer Dateien über die Benutzeroberfläche verfügbar machen. Sie sollten dem Benutzer niemals die Liste der Dateien in diesem Verzeichnis präsentieren und ihn bitten, zu entscheiden, was mit diesen Dateien geschehen soll.

Weitere Informationen über die UIFileSharingEnabled Schlüssel finden Sie Informationen Eigenschaftenliste Key Referenz .

Nico
quelle
1
Warum sollte die App dem Benutzer nicht die Liste der Dateien anzeigen?
Cutetare
1
@Cuterare: Angenommen, Sie möchten nur MP3-Dateien im Dokumentverzeichnis, aber der Benutzer legt PDF-Dateien ab, dann überlassen Sie es entweder dem Benutzer oder bearbeiten es an Ihrem Ende. Achten Sie also darauf, was Sie mit Dateien tun. Es ist eine Referenz aus Apples Dokument, bitte besuchen Sie die URL.
Nico
Wie kann ich die Protokolldetails vom Windows-PC exportieren?
Vineesh TP
13

Für den neuen XCode 7 ist nur der Schlüssel 'UIFileSharingEnabled' in Info.plist erforderlich. 'CFBundleDisplayName' wird nicht mehr benötigt.

Noch ein Hinweis: Ändern Sie nicht nur die Info.plist des Ziels 'tests'. Die Haupt-App und die 'Tests' haben unterschiedliche Info.plist.

Wanyancan
quelle
Hallo. Ich habe in meiner info.plist "Anwendung unterstützt iTunes-Dateifreigabe" - "JA" hinzugefügt. Die Zeile wird jedoch automatisch entfernt, wenn ich die Schaltfläche "Ausführen" auf Xcode starte. Hast du nicht das gleiche Problem?
M. Masa
6

Wenn Sie in der Liste nach Alphabet suchen, sollte dies "Anwendung unterstützt iTunes-Dateifreigabe" sein.

Tim
quelle
2

Vielleicht ist es für euch offensichtlich, aber ich habe mir eine Weile am Kopf gekratzt, weil der Ordner nicht in der Datei-App angezeigt wurde. Ich musste tatsächlich etwas im Ordner speichern. Sie könnten dies erreichen durch

  • Speichern einiger Dateien in Ihrem Dokumentverzeichnis der App
  • Verschieben Sie etwas von iCloud Drive in Ihre App (im Verschiebungsdialog wird der Ordner angezeigt). Sobald sich keine Dateien mehr in Ihrem Ordner befinden, wird diese aus der Registerkarte "Auf meinem iPad" entfernt.
iVentis
quelle
Vielen Dank für das Hinzufügen. Das einzige andere, was ich verwirrend fand, ist, dass Sie beim ersten Einschalten der Dateifreigabe und Speichern einer Datei Ihr Gerät auswerfen und erneut verbinden müssen, damit etwas angezeigt wird. Nur für den Fall, dass jemand anderes Zeit damit verschwendet, damit herumzuspielen.
Cosworth66 vor
1

Fügen Sie in Xcode 8.3.3 eine neue Zeile in .plist mit dem wahren Wert hinzu

Die Anwendung unterstützt die gemeinsame Nutzung von iTunes-Dateien

Oscar Castellon
quelle