Avec iCloud, Apple a promis aux développeurs une solution de synchronisation clé en main, à la fois élégante et très efficace. Malheureusement, tous ceux qui s’y sont risqués se sont longtemps cassé les dents : à moins de s’en tenir à synchroniser quelques fichiers isolés, le service était souvent trop buggué pour être utilisable (lire : iCloud reste un casse-tête pour les développeurs).
Depuis, le constructeur a travaillé et la situation est apparemment bien plus réjouissante. C’est en tout cas ce qu’explique Realmac sur son blog. L’éditeur, entre autres, du gestionnaire d’images Ember utilise iCloud et Core Data pour synchroniser les éléments entre appareils iOS et OS X. Les images proprement dites restent des fichiers, mais le logiciel crée aussi une base de données composée uniquement des métadonnées associées aux images. C’est cette base de données qui est en fait synchronisée à la fois pour accélérer la recherche et pour éviter de tout charger sur les appareils iOS où l’espace de stockage est plus limité.
La synchronisation avec iCloud a été lancée à l’automne dernier et depuis, les utilisateurs d’Ember n’ont pas eu de problème avec la fonction. L’éditeur indique bien deux ou trois rapports de bugs pour lesquels il ne pouvait rien faire, mais on est loin de la situation au lancement du service, où la fonction ne pouvait vraiment pas être utilisée par les développeurs. A priori, on peut à nouveau compter sur Core Data avec OS X 10.9 et iOS 7, mais pour être sûr de ne rien laisser au hasard, l’éditeur a intégré dans la dernière version de son logiciel un système pour reconstruire la bibliothèque. En cas de problème, on peut réinitialiser la base de données iCloud à partir d’un Mac ou au contraire reconstruire celle du Mac à partir d’iCloud.
Malgré ces bons résultats, Realmac reste très prudent. Outre la fonction de réinitialisation de la base de données, Ember intègre un module de sauvegarde des données. Cette solution permet de stocker les images et les informations associées aux images à un autre emplacement du disque dur. De quoi, par la suite, pouvoir restaurer ces données en cas de problème trop important pour être réglé simplement par une réinitialisation du Mac ou d’iCloud.
Si vous développez une application iOS ou OS X et que vous utilisez Core Data et iCloud, n’hésitez pas à témoigner en commentaire, que cela fonctionne ou non. À noter que d’autres développeurs n’ont pas attendu qu’Apple règle les problèmes de synchronisation et ont sorti leurs propres frameworks : on peut citer Ensembles ou encore iCloud Access.