Erreurs lors de l'obtention des téléphones
Dans Script Editor, si j'exécute :
tell application "Contacts" to get the vcard of person 301
le résultat est :
"BEGIN:VCARD VERSION:3.0 PRODID:-//Apple Inc.//Mac OS X 10.13.6//EN
N:Bar;Foo;;; FN:Foo Bar
EMAIL;type=INTERNET;type=WORK;type=pref:foobar@gmail.com
TEL;type=HOME;type=VOICE;type=pref:555 555 1212
CATEGORIES:Address Book
UID:1e6e6e410a662666
X-ABUID:18B18941-E2B7-48CE-BB34-4A26CC0E23BB:ABPerson
END:VCARD
"
Notez que cette personne a une adresse e-mail et un numéro de téléphone. Si j'exécute :
tell application "Contacts" to get the value of emails of person 301
le résultat est :
{"foobar@gmail.com"}
Cependant, si j'exécute :
tell application "Contacts" to get the value of phones of person 301
Je reçois
erreur "Contacts a obtenu une erreur : Impossible d'obtenir la valeur de chaque téléphone de la personne 301." numéro -1728 de la valeur de chaque téléphone de personne 301
et si j'exécute
tell application "Contacts" to get the phones of person 301
erreur "Contacts a obtenu une erreur : Échec du gestionnaire AppleEvent." numéro -10000
Que se passe-t-il si la personne n'a pas de numéro de téléphone ?
Édition : Sur la base d'une des réponses proposées à ce post, j'ai essayé
tell application "Contacts"
set thePhoneNumber to value of phones of people
end tell
ce qui m'a donné quelque chose comme
{valeur manquante, {}, valeur manquante, valeur manquante, ...}
avec beaucoup plus de "valeurs manquantes" et "{}" car j'ai environ 2000 entrées dans la base de données.
En enquêtant sur cela, j'ai découvert que la "valeur manquante" apparaît pour les personnes qui ont des numéros de téléphone, et les "{}" apparaissent pour les personnes qui n'ont pas de numéros de téléphone. Si j'exécute la même commande avec "emails", je reçois une liste d'adresses e-mail pour chaque personne qui a des e-mails, et une liste vide "{}" pour les personnes qui n'en ont pas.
Cela se passe sur Mac OS 10.13.6, Contacts 11.0 (1808.8).
Ai-je découvert un bug ou y a-t-il quelque chose qui ne va pas avec mon script ?