Frage

Ich verwende uidocumentInteractionController, um eine Datei in einer anderen App, Dropbox, zu öffnen.

Ich versuche, die Datei in einer anderen speziellen App zu öffnen, aber ich habe es nur so weit geschafft, die unterstützten Apps anzuzeigen und dem Benutzer zu ermöglichen.

UIDocumentInteractionController *udi = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath: jpgPath]];
[udi retain];
CGRect r = CGRectMake(0, 0, 300, 300);
[udi presentOpenInMenuFromRect:r inView:self.view animated:YES];

Dies enthält eine Liste der unterstützten Apps, aber ich möchte die Datei ohne das Feld "Optionen" direkt mit Dropbox öffnen. Irgendwelche Ideen?

War es hilfreich?

Lösung

Ich würde mich freuen, widersprach, aber ich denke, das ist nicht möglich (zumindest bis hin zu iOS 4).

Die normale Möglichkeit, eine Datei in einer anderen Anwendung zu öffnen, besteht darin, ein benutzerdefiniertes URL -Schema zu verwenden. (Siehe Dokumentation für OpenUrl: in der UIAPPLICATIONS -Klassenreferenz und auch Implementierung benutzerdefinierter URL -Systeme In der iOS -Anwendungsprogrammierung.) Nach meinem Wissen hat Dropbox kein benutzerdefiniertes URL -Schema implementiert. Und angesichts dessen ist dieser Ansatz geschlossen.

UidocumentationController ist ziemlich undurchsichtig. Sie können es überreden Sagen Sie, ob sich auf dem Gerät eine Anwendung befindet oder nicht, die Ihre Datei öffnet. Aber es ist nicht klar, dass Sie viel anderes tun können.

Andere Tipps

Wenn Sie eine offene Datei in einer bestimmten App anbieten möchten, fügen Sie einfach hinzu (mit Swift 3.0):

docController.uti = @"com.dropbox.ios";
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top