Desidero aprire un file (memorizzato localmente nella mia app) con un'altra app.openURL un file locale o forza UIDocumentInteractionController per utilizzare un'app specifica
Attualmente, sto usando openURL (c'è uno schema URL dedicato), e funziona bene se uso un file ospitato su internet, ma vorrei utilizzare un file locale in modo da: a) funziona offline b) un sacco di tempo i miei utenti sono o fuori copertura zona di cellule, o il roaming internazionale
Quello che ho provato finora: non ho avuto alcuna fortuna raccontando openURL di utilizzare un file locale, ho cercato alcuni approcci, ma sono tutti qualcosa di simile
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"ext"];
NSURL *fileURL = [NSURL fileURLWithPath:filePath];
[[UIApplication sharedApplication] openURL:fileURL];
anche
NSURL *fileURL = [[NSBundle mainBundle] URLForResource: @"test" withExtension:@"ext"];
[[UIApplication sharedApplication] openURL:fileURL];
anche manualmente utilizzando le stringhe con differenti variazioni del localhost/e file: // e var/mobile etc percorsi
non funziona nulla (per me comunque)
Così, mi sono guardato intorno e SO imbattuto UIDocumentInteractionController
sono in grado di utilizzare UIDocumentInteractionController per consentire all'utente di aprire il mio file locale con l'altra app - comunque sempre presenti le opzioni multiple di altre applicazioni di utilizzare e per esempio, una delle altre applicazioni può essere 'D ropbox'.
Non voglio consentire all'utente di scaricare (o caricare tecnicamente) una copia del mio file per il loro uso in altri modi. Contiene dati che preferirei non rendere così facilmente disponibili.
Quando il file viene aperto dall'app progettata (non creata da me btw) non consente alcun tipo di salvataggio o accesso ai dati grezzi.
Mi rendo conto che includendo il file nella mia app chiunque sia seriamente interessato a ottenerlo sarà in grado di, non voglio semplicemente visualizzare un grande menu che dice 'Eccolo se vuoi che la tua copia faccia lavoro derivato da'
Idealmente, avrei potuto usare openURL ma penso che sia a causa del 'sandbox' che l'altra applicazione non risponde - in Android che uso mode_world_readable a dichiarare il file come leggibili da altre applicazioni (quindi posizionandolo fuori dalla sandbox, e non consente ad altre app di scrivere su di esso, basta leggere) - c'è comunque lo stesso per iOS?
Altrimenti, se potessi forzare UIDocumentInteractionController per utilizzare un'app specifica e non presentare il menu, anche quello andrebbe bene.
Similar question asked a while ago
Ci scusiamo per la lunga lettura, ogni aiuto è apprezzato.
Edit: Ho appena ricevuto una risposta dal supporto Apple Tech e mi hanno detto che questo è attualmente impossibile (subito dopo iOS 6 rilasciato)
Sarebbe possibile impostare un server Web "locale" e ospitare il file lì per l'altra app per l'accesso? – lifeIsGood
Che ne dici di usare UIPasteboard con openURL in qualche modo? – lifeIsGood