Come abilitare la condivisione di file per la mia app?


158

Ho un'app di modifica delle immagini in cui gli utenti possono applicare effetti alle foto. Come posso abilitarlo in modo che gli utenti possano vedere la mia app in iTunes nella scheda Condivisione file e quindi trascinare e rilasciare le foto sull'app?

Alcuni dei lettori di eBook come Stanza funzionano così e sarebbe un'opzione interessante. Forse qualcuno può segnalare un tutorial o una risorsa che parla di come abilitare e utilizzare questa tecnica.


Risposte:


282

Devi solo impostare il tasto UIFileSharingEnabled( Application Supports iTunes file sharing) nella lista delle informazioni della tua app. Ecco un link per la documentazione. Scorri verso il basso fino alla parte di supporto per la condivisione di file.

In passato, era anche necessario definire CFBundleDisplayName( Bundle Display Name), se non fosse già lì. Maggiori dettagli qui .


57
Per quelli di voi che sono sfidati come me: l' applicazione supporta la condivisione di file iTunes durante la modifica del file info.plist in Xcode.
LavaSlider,

C'è qualche motivo per cui non potrebbe avere effetto in un'applicazione? L'ho abilitato ma l'app non verrà visualizzata su Condivisione file di iTunes
rraallvv il

@rraallvv stai provando con una build di sviluppo o una build ad hoc?
Vin

@rraallvv probabilmente devi impostare i tipi di file ... (tipi di documento in target / info)
nielsbot

E nel caso in cui qualcun altro stia tirando i capelli su di esso non funziona, controlla se forse hai più di una * Info.plist.
Tony Adams,

42

Secondo il doc apple :

Supporto per la condivisione di
file Il supporto per la condivisione di file consente alle app di rendere disponibili i file di dati utente in iTunes 9.1 e versioni successive. Un'app che dichiara il suo supporto per la condivisione di file mette a disposizione dell'utente il contenuto della sua directory / Documents. L'utente può quindi spostare i file dentro e fuori da questa directory come necessario da iTunes. Questa funzione non consente all'app di condividere file con altre app sullo stesso dispositivo; quel comportamento richiede il pasteboard o un oggetto controller di interazione documenti.

Per abilitare la condivisione di file per la tua app, procedi come segue:

  1. Aggiungi la chiave UIFileSharingEnabled al file Info.plist della tua app e imposta il valore della chiave su YES . (Il nome della chiave effettiva è "L'applicazione supporta la condivisione di file iTunes")

  2. Inserisci i file che desideri condividere nella directory Documenti della tua app.

  3. Quando il dispositivo è collegato al computer dell'utente, iTunes visualizza una sezione Condivisione file nella scheda App del dispositivo selezionato.

  4. L'utente può aggiungere file a questa directory o spostare i file sul desktop.

Le app che supportano la condivisione di file dovrebbero essere in grado di riconoscere quando i file sono stati aggiunti alla directory Documents e rispondere in modo appropriato. Ad esempio, la tua app potrebbe rendere disponibili i contenuti di tutti i nuovi file dalla sua interfaccia. Non si dovrebbe mai presentare all'utente l'elenco dei file in questa directory e chiedere loro di decidere cosa fare con quei file.

Per ulteriori informazioni sulla chiave UIFileSharingEnabled, vedere Informazioni di riferimento sulla chiave dell'elenco delle proprietà delle informazioni .


1
Perché l'app non dovrebbe presentare all'utente l'elenco dei file?
Cutetare,

1
@Cuterare: Supponi di voler solo i file mp3 nella directory dei documenti, ma l'utente inserisce i file .pdf e poi lo lasci, all'utente o alla fine. Quindi prenditi cura di quello che stai facendo con i file. È riferimento dal documento di Apple, visita url.
Nico,

Come posso esportare i dettagli del registro dal PC Windows?
Vineesh TP,

13

Il nuovo XCode 7 richiederà solo la chiave 'UIFileSharingEnabled' in Info.plist. "CFBundleDisplayName" non è più necessario.

Un altro suggerimento: non modificare solo il file Info.plist del target 'test'. L'app principale e i "test" hanno Info.plist diverso.


Ciao. Ho aggiunto "Applicazione Supporta la condivisione di file iTunes" - "SÌ" nella mia info.plist. Ma la linea viene rimossa automaticamente quando avvio il pulsante "Esegui" su Xcode. Non hai lo stesso problema?
M.Masa,

6

Se lo trovi in ​​alfabeto in plist, dovrebbe essere "L'applicazione supporta la condivisione di file iTunes".


2

Forse è ovvio per voi ragazzi ma mi sono grattato la testa per un po 'perché la cartella non è stata visualizzata nell'app dei file. In realtà avevo bisogno di archiviare qualcosa nella cartella. potresti raggiungere questo obiettivo

  • salvando alcuni file nella directory dei documenti dell'app
  • sposta qualcosa da iCloud Drive alla tua app (nella finestra di dialogo Sposta apparirà la cartella). Non appena non ci sono più file nella tua cartella, sparirà dalla "scheda del mio iPad".

Grazie per averlo aggiunto. L'unica altra cosa che ho trovato confuso è che la prima volta che si attiva la condivisione dei file e si salva un file, è necessario espellere e riconnettere il dispositivo affinché venga visualizzato qualcosa. Nel caso in cui qualcun altro perdesse tempo a scherzare con questo.
Cosworth66,

1

In Xcode 8.3.3 aggiungi una nuova riga in .plist con valore vero

L'applicazione supporta la condivisione di file iTunes

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.