En regardant la base de données ouverte par ce snippet SQLite dans Navicat, je ne vois aucune donnée ; je suppose que le déplacement d'iCloud a provoqué des changements, mais peut-être que je ne vois pas les choses correctement.
Si vous avez un compte de développeur, vous pouvez regarder dans la documentation relative à la programmation du carnet d'adresses . Il y a support assez riche pour la recherche et je serais choqué si vous ne pouviez pas chercher des dates correspondantes. Les anniversaires semblent ne pas avoir leur propre type distinct - il y a une constante de propriété pour kABBirthdayProperty mais rien comme Anniversary, donc il tombe probablement sous kABOtherDatesProperty.
kABOtherDatesProperty
Dates associated with a person (ABMultiDateProperty containing dates).
Available in OS X v10.3 and later.
Declared in ABGlobals.h.
Et bien sûr, il y a un identifiant (apparemment le seul identifiant fourni à l'avance) pour les autres dates.
Autres étiquettes de dates Étiquettes pour les valeurs contenues dans les propriétés à valeurs multiples ABOtherDatesProperty.
kABAnniversaryLabe l
Constants
kABAnniversaryLabel
Anniversary date.
Available in OS X v10.3 and later.
Declared in ABGlobals.h.
Availability
Available in OS X v10.3 and later.
J'imagine que cette sous-liste est la raison pour laquelle l'application en ligne de commande à laquelle vous faites référence n'affiche pas les anniversaires ; elle doit être consciente de la possibilité d'autres types de dates dans cette catégorie "autre". Mais je pense qu'elle pourrait être étendue pour les gérer (si elle fonctionne toujours ?).
Compte tenu de ce qui précède, vous pourriez voir si vous pouvez écrire une application Swift simple pour sortir toutes les entrées avec des anniversaires. Vous pouvez faire des applications en ligne de commande avec ça. Applescript ne vous aidera pas - l'interface Contacts as ne semble pas partager d'autres types de dates.