Errores al obtener teléfonos
En el Editor de secuencias de comandos, si ejecuto:
tell application "Contacts" to get the vcard of person 301
el resultado es:
"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
"
Tenga en cuenta que esta persona tiene una dirección de correo electrónico y un número de teléfono. Si corro:
tell application "Contacts" to get the value of emails of person 301
el resultado es:
Sin embargo si ejecuto:
tell application "Contacts" to get the value of phones of person 301
me sale
error "Los contactos recibieron un error: no se puede obtener el valor de todos los teléfonos de la persona 301". número -1728 desde el valor de cada teléfono de persona 301
y si corro
tell application "Contacts" to get the phones of person 301
error "Los contactos obtuvieron un error: el controlador AppleEvent falló". número -10000
¿Qué sucede si la persona no tiene un número de teléfono?
Editar: Basado en una de las respuestas propuestas a esta publicación, lo intenté
tell application "Contacts"
set thePhoneNumber to value of phones of people
end tell
que me dio algo como
{ valor faltante , {}, valor faltante , valor faltante , ...}
con muchos más "valores perdidos" y "{} s" porque tengo aproximadamente 2000 entradas en la base de datos.
Al investigar esto, descubrí que el "valor faltante" aparece para las personas que tienen números de teléfono y que "{}" aparece para las personas que no tienen números de teléfono. Si ejecuto el mismo comando con "correos electrónicos", obtengo una lista de direcciones de correo electrónico para cada persona que tiene correos electrónicos, y una lista vacía "{}" para las personas que no lo tienen.
Esto está en Mac OS 10.13.6, Contactos 11.0 (1808.8).
¿He descubierto un error o hay algún problema con mi script?