Implementa un file system per dispositivi ios

1

Ho letto che le app di ios possono comunicare tramite URL unici. Un tutorial online su tutsplus dice

Communication between apps provides your application with an opportunity to take advantage of other application’s functionality, send and receive data between apps, and provide a rich user experience that “just works”.

Devo ammettere che dal momento che non ho esperienza con l'obiettivo c e cacao ho solo scansionato l'articolo. Ma per quanto ho capito della comunicazione basata su url, la tua app può registrare un URL unico che funge da socket per la comunicazione.

Questa non è la base perfetta per un file system grezzo? So che tutte le app ios vengono eseguite in una sandbox e possono accedere solo ai propri dati. Riconosco i meriti di questa decisione progettuale, ma allo stesso tempo sembra guarire e maledire. Questo non vuole essere una discussione sull'ecosistema di Apple e il concetto di app ios.

La mia domanda è semplicemente:

È possibile utilizzare la comunicazione url per creare un archivio di file che funzioni come un semplice "desk"? Mi piacerebbe un'app che potesse archiviare e ospitare i miei file per consentire un flusso di lavoro più semplice tra diverse app. È tecnicamente possibile o ho frainteso il sistema url? Apple consentirà un'applicazione simile nell'app store?

    
posta lhk 30.03.2013 - 19:23
fonte

1 risposta

1

Mentre I penso il tuo caso d'uso è risolto dalla comunicazione dello schema URI, non sarebbe una buona esperienza utente. Ecco alcuni documenti sulla gestione dell'URI (vedi Implementazione Sezione Schemi URL personalizzati).

Per costruire un file system usando questo, devi definire uno schema URI che permetta ad altre app di dirti un'azione, un percorso e un URI di callback. Qualcosa come:

x-my-filesystem://home/Documents/MyFile.doc?action=read&callback=x-doc-reader%3A%2F%2F...

Quando qualcuno cercava di aprire uno dei tuoi file da un'altra app, passava il suo iPhone alla tua app. Quindi, quando hai gestito la richiesta, chiameresti la richiamata e restituirebbe la cosa all'app altra . Ciò è visivamente strong e lento: hai aggiunto due volte il tempo di animazione della transizione (circa un secondo in totale) oltre al tempo di lavoro effettivo. Inoltre, si corre il rischio di essere rifiutati per "duplicazione della funzionalità Apple", in quanto il dispositivo ha già un file system. Certamente non uno che può essere usato per IPC, ma ne ha uno.

L'approccio in stile Dropbox di fornire un SDK utilizzato dalle app host risolve tutti i problemi di cui sopra. A differenza di un filesystem per un sistema operativo "tradizionale" come OS X o Windows, le app devono esplicitamente opt-in sia per l'approccio Dropbox sia per l'URI personalizzato sopra descritto. La tecnica del filesystem remoto offre alle app cross-device cross (tra cui potenzialmente attraverso le piattaforme), quindi è ancora meglio della tecnica che descrivi.

    
risposta data 05.04.2013 - 09:53
fonte

Leggi altre domande sui tag