Mostrar los aniversarios de hoy (si los hay) de los contactos

0

Me gustaría poder ejecutar una secuencia de comandos que buscaría en mi lista de Contactos y daría el nombre (y, preferiblemente, el número de teléfono) de cualquier persona cuya fecha de "Aniversario" coincida hoy. (El script debe ser algo que pueda ejecutarse en OS X 10.9 y salir a la salida estándar).

Puedo hacer lo mismo para los cumpleaños usando el comando contacts de enlace (o brew install contacts ) pero no hace lo mismo con las direcciones.

Encontré una publicación de Mac OS X que sugería que podría funcionar a través de sqlite3 pero no he podido conseguir que funcione. (Lo que no quiere decir que no se pueda hacer, solo que no he podido hacerlo).

Se me ocurre que alguien ya podría haber inventado esta "rueda" en particular y simplemente no estoy al tanto de ello. Aparte de los dos enlaces anteriores, Google no ha sido particularmente útil.

    
pregunta TJ Luoma 07.07.2014 - 19:20

1 respuesta

1

Viendo la base de datos que está abriendo ese fragmento de código SQLite en Navicat, no veo ningún dato allí; Asumiría que el movimiento de iCloud causó algunos cambios pero quizás no lo estoy viendo bien.

Si tiene una cuenta de desarrollador, puede buscar en la documentación para la programación de la libreta de direcciones . Hay soporte bastante completo para buscar y me sorprendería si no pudiera buscar fechas coincidentes. Los aniversarios parecen no tener su propio tipo distinto: hay una constante de propiedad para kABBirthdayProperty pero nada como Anniversary, por lo que presumiblemente se encuentra bajo kABOtherDatesProperty.

kABOtherDatesProperty
Dates associated with a person (ABMultiDateProperty containing dates).
Available in OS X v10.3 and later.
Declared in ABGlobals.h.

Y, efectivamente, hay un identificador (aparentemente el único identificador pre-proporcionado) para otras fechas.

Etiquetas de otras fechas Etiquetas para los valores contenidos en las propiedades de múltiples valores de 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.

Me imagino que esta sublisto es la razón por la cual la aplicación de línea de comandos a la que hace referencia no escupe los aniversarios; tendría que ser consciente de la posibilidad de otros tipos de fecha en esa "otra" categoría. Pero creo que podría extenderse para manejarlos (si aún funciona?)

Teniendo en cuenta lo anterior, puede ver si puede escribir una aplicación Swift simple para escupir todas las entradas con aniversarios. Puedes hacer aplicaciones de línea de comandos con él. Applescript no te ayudará, los contactos como interfaz no parecen compartir otras fechas de tipo.

    
respondido por el Don 07.07.2014 - 22:48

Lea otras preguntas en las etiquetas