Activité
La commande suivante, exécutée en travaillant avec iCloud avec des applications (telles que Smultron 4 et TextEdit) qui prennent en charge les documents mobiles -
sudo opensnoop -n ubd
- affiche les fichiers locaux ouverts par le démon d'ubiquité. Les fichiers incluent des bases de données, une base de données par homologue. Un répertoire par homologue sur le chemin suivant:
~/Library/Application Support/Ubiquity
Types de données
Si vous souhaitez mesurer les progrès, choisissez les types à mesurer:
- Données de base
- les documents
- valeur clé.
Économies, progrès et mesure
Données de base
… Les fichiers journaux des modifications, et non le fichier du magasin, sont téléchargés sur iCloud et téléchargés sur chacun des autres appareils d'un utilisateur. Lorsqu'un journal des modifications arrive d'un autre appareil connecté au même compte iCloud, Core Data met à jour la copie locale de votre application de la base de données SQLite, en fonction du journal des modifications reçu. iCloud et Core Data garantissent que chaque base de données locale est mise à jour avec le même ensemble de modifications. …
Considérez: sans interpréter le contenu d'un journal des modifications, vaudra-t-il la peine de mesurer la progression du téléchargement du fichier journal?
Les documents
Dans la bibliothèque des développeurs Mac:
… Les applications basées sur des documents peuvent adopter l'enregistrement automatique en place, et ses documents sont automatiquement enregistrés aux moments appropriés…
Aussi:
Les stratégies d'enregistrement automatique des données soulagent l'utilisateur
… Les points appropriés dans votre code où toutes les modifications liées à l'utilisateur doivent être enregistrées et écrivez ces modifications sur le disque automatiquement. …
Voici quelques moments appropriés où vous pouvez enregistrer automatiquement les données utilisateur:
- Lorsque l'utilisateur ferme la fenêtre de l'application ou quitte l'application (applicationWillTerminate :)
- Lorsque l'application est désactivée (applicationWillResignActive :)
- Lorsque l'utilisateur masque votre application (applicationWillHide :)
- Chaque fois que l'utilisateur apporte une modification valide aux données de votre application
Le dernier élément signifie que vous avez la liberté de sauvegarder les données de l'utilisateur à tout moment où cela est logique de le faire. Par exemple, si l'utilisateur modifie des champs d'un enregistrement de données, vous pouvez enregistrer chaque valeur de champ telle qu'elle est modifiée ou vous pouvez attendre et enregistrer tous les champs lorsque l'utilisateur affiche un nouvel enregistrement. Apporter ces types de modifications incrémentielles garantit que les données sont toujours à jour mais nécessite également une gestion plus fine de votre modèle de données. …
Considérez: ces sauvegardes peuvent être si fréquentes et les montants si petits que cette mesure ne vaudra pas la peine.
item-info.db
J'ai joué avec le navigateur de base de données SQLite pour parcourir la item-info.db
base de données pour le pair qui semble être mon Mac local. Comme je le soupçonnais, l'application ne pouvait parcourir que lorsque le système n'utilisait pas la base de données - dans les deux secondes suivant l'utilisation de Aperçu pour modifier un Untitled.png
dans iCloud, je ne pouvais plus parcourir la base de données… et ainsi de suite.
Les références
Guide de conception iCloud
Guide de programmation de l'application Mac : conception de l'application principale:
iosnoop
mais pas toutes les choses liées à DTrace fonctionnent parfaitement sur OS X. Moi aussi, je suis curieux de savoir ce qui n'est pas couvert par cette réponse.Il n'y a pas d'outils OS X intégrés conçus explicitement pour vous montrer les informations de synchronisation iCloud.
Depuis OS X 10.8.2, Apple n'a pas rendu ces informations publiques. À moins qu'Apple ne publie des interfaces de programmation d'application (API) OS X pour fournir les informations que vous recherchez, aucun tiers ne pourra fournir avec précision les détails de la synchronisation.
Compte tenu de cela, veuillez donner les commentaires de l'équipe iCloud d'Apple ; faites savoir aux ingénieurs d'Apple ce que vous voulez et pourquoi.
Pendant que vous attendez, vous pouvez suivre les connexions aux serveurs iCloud d'Apple, mesurer le flux de trafic et l'accès au disque. Ces mesures fourniront des informations mais ne fourniront pas les durées attendues ni le pourcentage de mesures terminées.
Pour explorer le flux de données, explorez les outils intégrés d' OS X comme lsof et netstat .
la source
Si vous voulez vraiment voir ce qui se passe, vous pouvez utiliser tcpdump (/ usr / sbin / tcpdump), qui capture les paquets. Il vous montrera les paquets lors de leur passage sur le réseau. Ce n'est pas le plus simple, mais c'est le moyen le plus complet de voir ces données.
la source
À partir d'OS X 10.11 (sinon 10.10), si un sous-dossier de votre lecteur iCloud est ouvert dans le Finder lors de la modification de fichiers dans iCloud et que la barre d'état de cette fenêtre est activée, le Finder vous indiquera combien de fichiers sont en cours de synchronisation et combien de données ont été transférées jusqu'à présent.
la source
L'exécution de ce qui suit dans Terminal semble faire l'affaire pour moi:
La commande lsof se traduit par ceci:
émettez-le à nouveau (flèche vers le haut et appuyez sur retour) et vous devriez le voir changer.
la source