Je l'ai. Je crois. Cela m'a pris beaucoup de temps mais je pense avoir compris ce qui se passe. J'espère que cela pourra être utile à quelqu'un d'autre.
Tout d'abord, j'ai remarqué que le fait de verrouiller le fichier dans le Finder semblait empêcher l'aperçu de se souvenir d'une page différente. Ainsi, si j'ouvrais le PDF à la page 1 et que je le faisais défiler jusqu'à la page 10, il ne se souvenait plus que le PDF était à la page 10 lorsque le fichier était fermé puis rouvert. C'était le premier indice.
J'ai ensuite utilisé fseventer qui surveille les modifications de fichiers en temps réel et j'ai été surpris de constater que l'ouverture d'un PDF dans Aperçu, le défilement d'une page différente puis la fermeture du PDF mettaient à jour le fichier lui-même. Cela n'enregistre pas littéralement un changement d'heure dans le Finder, la date reste la même, mais fseventer a trouvé l'indice suivant "Modifié xattr".
Ok, je me suis vaguement souvenu d'une mention de cette fonctionnalité appelée attributs étendus il y a quelques années, elle semble fonctionner comme une autre sorte de métadonnées mais qui est tout à fait distincte des "métadonnées normales", et maintenant je lis que c'était un remplacement des anciennes fourches de ressources dans OS 9. Exécution de $mdls
(utilisé pour les "métadonnées" normales) dans le terminal n'affiche pas les attributs étendus.
Vous devez utiliser la commande $xattr
pour voir ces attributs.
Quand j'ai couru $xattr /Volumes/mydisk/mypdf.pdf
J'ai eu ça :
/Volumes/mydisk/mypdf.pdf : com.apple.Preview.UIstate.v1 : Et une autre ligne sur un morceau de quarantaine
Vous devez faire $ xattr -lv
pour voir les données complètes de ces attributs étendus. Il produit un blob de sortie hexadécimale pour com.apple.Preview.UIstate.v1.
Donc j'ai couru $ xattr -lv /Volumes/mydisk/mypdf.pdf
Et copié la sortie. Puis j'ai ouvert le PDF dans Aperçu, changé la page et fermé Aperçu.
Puis j'ai couru $ xattr -lv /Volumes/mydisk/mypdf.pdf
à nouveau
Puis j'ai comparé les blocs de sortie hexadécimale pour com.apple.Preview.UIstate.v1, qui étaient différents entre les deux occasions.
Le dernier test consistait à supprimer les données d'attributs étendus :
$ xattr -c /Volumes/mydisk/mypdf.pdf
Et c'est tout ! Il est de retour à la page 1 lorsque vous l'ouvrez dans l'aperçu.
Il semble que la dernière page consultée d'un PDF soit stockée dans ces attributs étendus. Je suis tellement heureux !