Ho un'app per iPhone che alcuni dei miei utenti sono in esecuzione sul loro iPad in modalità emulazione. Stiamo pensando di creare anche un'app ottimizzata per iPad, che sarebbe un'app separata nell'App Store (più funzionalità, diversi prezzi).Come posso trasferire un documento tra due app sullo stesso dispositivo iOS?
Il problema è: se un utente sta eseguendo l'app per iPhone su un iPad e poi acquista la nostra versione ottimizzata per iPad, come può migrare i propri dati dall'app solo per iPhone e nella nuova app per iPad?
Ecco alcune alternative che ho considerato:
- Come raccomandato in altri SO domande, il portachiavi sicuro. Il problema è che questo consente di trasferire solo una piccola porzione di dati. I nostri utenti hanno probabilmente decine di megabyte di dati
- La registrazione di schemi URI (suggerita anche in altre domande SO, sembra anche progettata solo per piccole quantità di dati)
- Consenti all'utente di caricare i dati da iPhone -solo app per un servizio come Dropbox o box.net, quindi dalla versione iPad, scaricare di nuovo quei dati. Il vantaggio è che questi servizi hanno API molto semplici; lo svantaggio è che l'utente potrebbe aver bisogno di creare un account aggiuntivo e/o scaricare un'altra app solo per spostare i dati
- Creare un documento iCloud. No iscrizione necessaria, ma la creazione di archiviazione iCloud è, per dirla alla leggera, non banale
ci sono altre opzioni per il trasferimento di decine di megabyte di dati tra due applicazioni sullo stesso dispositivo.
Qual è la tua prova sull'affermazione che gli schemi URI sono solo per piccole quantità di dati? Esiste un limite di lunghezza per gli URL passati dall'app all'app? Altrimenti si potrebbe semplicemente basare il codice 64 per codificare i dati e inserire tutto ciò che si desidera. Non credo ci sia un codificatore base 64 integrato nell'API (sebbene siano davvero facili da scrivere), ma esiste un decodificatore implicito poiché NSURL supporta 'data:' URL e 'NSData' possono caricarli da essi. – Tommy