Domanda

Mi chiedevo se era possibile utilizzare iCloud per sincronizzare file delle preferenze di un'applicazione tra i dispositivi. Il file delle preferenze di cui sto parlando è il file creato da com.domain.appname.plist NSUserDafults per memorizzare le preferenze del app.

Mi piacerebbe avere la possibilità di mantenere file delle preferenze di mia app in sincronia tra due dispositivi differenti (un iPad e un iPhone, per esempio). È questo un uso accettabile di icloud sincronizzazione? O avrei bisogno di convertire il file plist in un diverso tipo di documento, memorizzarlo sulla nuvola, e riconvertirlo nel file di preferenze dell'app su di recuperarlo?

grazie!

È stato utile?

Soluzione

C'è una biblioteca a disposizione per fare questo con una sola riga di codice

https://github.com/MugunthKumar/MKiCloudSync

Altri suggerimenti

MKiCloudSync , ho anche una biblioteca su GitHub chiamato SDCloudDefaults . Piuttosto che la sincronizzazione automatica, c'è un nuovo oggetto che si usa al posto di NSUserDefaults che salva sia iCloud e NSUserDefaults. Questo significa che è possibile decidere quali elementi vengono memorizzati localmente e che sono memorizzati nella cloud.

(ho trovato MKiCloudSync dopo che avevo messa in atto. Penso che sia intelligente, ma io non desideri sincronizzare tutto su iCloud così la mia soluzione funziona ancora meglio per me.)

E 'possibile sincronizzare le preferenze tra i dispositivi che utilizzano iCloud. Tuttavia, mi sento di raccomandare contro la condivisione del file plist tra i dispositivi.

Il NSUbiquitousKeyValueStore dovrebbe essere adatto a quello che stai cercando di fare. E 'molto simile a NSUserDefaults, quindi dovrebbe essere facile da raccogliere.

Per utilizzarlo, è sufficiente attivare il diritto com.apple.developer.ubiquity-kvstore-identificatore nel file diritti e basta duplicare le preferenze che si desidera sincronizzare in negozio valore della chiave onnipresente. Una volta che è in kvstore onnipresente, sarete in grado di vedere dalla applicazione su altri dispositivi. È anche possibile la sincronizzazione tra le diverse applicazioni a patto che utilizzano lo stesso identificatore.

Si dovrebbe anche registrare per la notifica NSUbiquitousKeyValueStoreDidChangeExternallyNotification a guardare per nuovi cambiamenti e aggiornare i standardUserDefaults sul dispositivo di conseguenza.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top