UIDocumentInteractionController l'apertura del file in un'app specifica senza opzioni
-
25-10-2019 - |
Domanda
sto usando UIDocumentInteractionController per aprire un file in un altro app, DropBox.
Quello che sto cercando di fare è aprire il file in un'altra specifica app, ma sono riuscito soltanto finora per visualizzare le applicazioni supportate e permettendo all'utente di scegliere.
UIDocumentInteractionController *udi = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath: jpgPath]];
[udi retain];
CGRect r = CGRectMake(0, 0, 300, 300);
[udi presentOpenInMenuFromRect:r inView:self.view animated:YES];
Questo presenta un elenco di applicazioni supportate, ma voglio aprire direttamente il file con Dropbox, senza le opzioni della finestra. Tutte le idee?
Soluzione
mi piacerebbe essere felice di essere contraddetto, ma penso che questo non è possibile (almeno fino al iOS 4).
Il modo normale per aprire un file in un'altra applicazione è quello di utilizzare uno schema URL personalizzato. (Vedere la documentazione per openURL: nel UIApplication classe di riferimento e anche Schemi personalizzati Implementazione URL in applicazione iOS Guida di programmazione.) Per quanto a mia conoscenza, Dropbox non hanno applicato un regime URL personalizzato. E, dal momento che, questo approccio è chiuso.
UIDocumentationController è piuttosto opaco. Si può convincere in indica se c'è o non c'è alcuna applicazione sul dispositivo che si aprirà il file . Ma non è chiaro che si può fare molto altro.
Altri suggerimenti
Se si desidera offrire file aperto in una specifica applicazione, è sufficiente aggiungere (tramite SWIFT 3.0):
docController.uti = @"com.dropbox.ios";