Puis-je utiliser iCloud pour synchroniser le NSUserDefaults fichier plist
Je me demandais si il était possible d'utiliser iCloud pour synchroniser une application du fichier de préférences entre les périphériques. Le fichier de préférences dont je parle est les com.domaine.appname.fichier plist créé par NSUserDafults pour stocker de l'application des préférences.
Je voudrais avoir la possibilité de garder mon application fichier des préférences de synchronisation entre deux périphériques différents (un iPad et un iPhone, par exemple). Est-ce une utilisation acceptable de la synchronisation iCloud? Ou aurais-je besoin de convertir le fichier plist dans un autre type de document, de le stocker sur le cloud, et de le convertir en arrière dans l'application des préférences de fichier lors de l'extraction il?
merci!
OriginalL'auteur Jackson | 2011-10-18
Vous devez vous connecter pour publier un commentaire.
Il y a une bibliothèque à disposition pour le faire avec une seule ligne de code
https://github.com/MugunthKumar/MKiCloudSync
Est-il une mise en œuvre rapide?
Swift: github.com/ArtSabintsev/Zephyr
OriginalL'auteur palaniraja
Similaire à MKiCloudSync, j'ai aussi une bibliothèque sur GitHub appelé SDCloudDefaults. Plutôt que de se synchroniser automatiquement, il y a un nouvel objet que vous utilisez à la place de
NSUserDefaults
qui enregistre à la fois iCloud etNSUserDefaults
. Cela signifie que vous pouvez décider quels éléments sont stockés localement et qui sont stockées dans le cloud.(J'ai trouvé MKiCloudSync après que j'ai mis en œuvre. Je pense qu'il est intelligent, mais je ne veux pas synchroniser tout à iCloud donc ma solution fonctionne encore mieux pour moi.)
merci, exactement ce que je cherchais
OriginalL'auteur Stephen Darlington
Il est possible de préférences de synchronisation entre les appareils via iCloud. Cependant, je déconseille partage le fichier plist entre les périphériques.
La NSUbiquitousKeyValueStore doit être adapté à ce que vous essayez de faire. Il est très similaire à NSUserDefaults, il devrait donc être facile à ramasser.
Pour l'utiliser, il suffit d'activer la com.apple.développeur.ubiquité-kvstore-identificateur de droit dans vos droits fichier et juste dupliquer les préférences vous le souhaitez synchroniser dans omniprésente, la valeur de la clé de magasin. Une fois dans la omniprésent kvstore, vous serez en mesure de voir à partir de l'application sur d'autres dispositifs. Vous pouvez même synchroniser entre les différentes applications, aussi longtemps qu'ils utilisent le même identifiant.
Vous devriez également vous inscrire à la NSUbiquitousKeyValueStoreDidChangeexternallynotification notifications pour les nouveaux changements et mise à jour de la standardUserDefaults sur l'appareil en conséquence.
Omniprésente, la valeur de la clé de magasin est certainement plus adapté pour les petites valeurs de paramètres. Si vous avez des données qui peuvent dépasser 64 ko, vous devez vous servir de document de base de la synchronisation de la place. Je voudrais écrire les données d'application dans un autre fichier plist et de le déplacer dans la omniprésent iCloud conteneur où il serait synchronisé à d'autres appareils. Je dirais qu'à l'aide d'iCloud et de faire de la synchronisation de données entre l'appareil totalement transparente pour vos utilisateurs est certainement une meilleure expérience.
OriginalL'auteur kevinyc