La plupart des applications n'utilisent pas les Signets (mentionnés par Matthieu) dans ce but, car les Signets sont destinés à localiser un fichier après que l'application ait été quittée entre-temps), mais plutôt à garder le fichier ouvert pendant que l'application fonctionne, ou à référencer le fichier en utilisant son ID de fichier (alias CNID ou objID), ou simplement en utilisant une balise Objet NSURL qui garde la trace du fichier.
Le secret de ce fonctionnement réside dans le fait que les volumes HFS(+) attribuent à chaque fichier et dossier un numéro unique (le CNID). Ainsi, même si le fichier est renommé ou déplacé, il peut être retrouvé grâce à ce numéro. Les signets font également usage de ce numéro en le stockant à cette fin.
Cela signifie également que si vous placez votre fichier sur un système de fichiers qui ne prend pas en charge les ID de fichier, par exemple sur un volume réseau SMB ou un disque formaté en FAT, le renommage et le déplacement de ces fichiers peuvent NE PAS être détectés par ces applications, car il n'existe pas de mécanisme de suivi alternatif dans ce cas.
Voir aussi QA1113 technique d'Apple : le répertoire /.vol/ et volFS .
APFS, le nouveau format de volume d'Apple, prend également en charge les identifiants de fichiers, BTW.