Errori durante il recupero dei telefoni
In Script Editor, se corro:
tell application "Contacts" to get the vcard of person 301
il risultato è:
"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:[email protected]
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
"
Si noti che questa persona ha un indirizzo email e un numero di telefono. Se corro:
tell application "Contacts" to get the value of emails of person 301
il risultato è:
Tuttavia se corro:
tell application "Contacts" to get the value of phones of person 301
Ottengo
error "Contacts got an error: Can’t get value of every phone of person 301." number -1728 from value of every phone of person 301
e se corro
tell application "Contacts" to get the phones of person 301
error "Contacts got an error: AppleEvent handler failed." number -10000
Che cosa succede se la persona non ha un numero di telefono?
Modifica: In base a una delle risposte proposte a questo post, ho provato
tell application "Contacts"
set thePhoneNumber to value of phones of people
end tell
che mi ha dato qualcosa di simile
{missing value, {}, missing value, missing value, ...}
con molti più "valori mancanti" e "{} s" perché ho circa 2000 voci nel database.
Esaminando ciò, ho scoperto che il "valore mancante" viene visualizzato per le persone che hanno numeri di telefono e "{}" viene visualizzato per le persone che non hanno numeri di telefono. Se eseguo lo stesso comando con "email", ottengo un elenco di indirizzi email per ogni persona che ha email e un elenco vuoto "{}" per le persone che non lo fanno.
Questo è su Mac OS 10.13.6, Contatti 11.0 (1808.8).
Ho scoperto un bug o c'è qualcosa di sbagliato nel mio script?