En concreto, me fijé en esta línea Se han encontrado múltiples asignaciones de objetos para la clave AB AAMkADM2MDFmNGNmLWM3NmtNGYxOS1iMDg4LWY0YjI1MGYzNjYxYQBGAAAAAABDPkLykrMnSJ1IqQdY8YscBwYGhW8CcVeTK3joidjOJa9AAEiAABYGhW8CVeTK3joidjOJa9AAA10vffAAA= de tipo itemId' que sospeché indicaba que tenía un duplicado en algún lugar de la base de datos de contactos
Así es como lo resolví, en una terminal:
cd ~/Library/ Application\ Support/AddressBook/
grep -r MtNGYxOS1iMDg4LWY0YjI1MGYzNjYxYQBGAAAAAABDPkLykrMnSJ1IqQdY8YscBwBYGhW8CcVeTK3jo *
(esto es parte de la "cadena larga" anterior. Para mí fue suficiente, ya que la búsqueda sólo devolvió un resultado, Exchange
en Sources/187CB027-195A-4D96-99B2-B8A546A743DC
)
Este archivo resultó ser un archivo de base de datos SQLite. Ábrelo con algún lector de SQLite. Yo usé sqlitestudio.
En esta base de datos hay una tabla ZMAPPING que nos interesa. Encuentra las entradas relevantes en esta tabla con algo de SQL
select * from zmapping where zitemid like '%AAMkADM2MDFmNGNmLWM3NmMtNGYxOS1iMDg4LWY0YjI1MGYzNjYxYQBGAAAAAABDPkLykrMnSJ1IqQdY8YscBwBYGhW8CcVeTK3joidjOJa9AAAAAAEiAABYGhW8CcVeTK3joidjOJa9AAA10vffAAA=%'
En mi caso, esta consulta ha devuelto dos líneas. Observe los valores en Z_PK para todas las líneas devueltas. Ahora busque en la tabla ZMAPPING las líneas con estos valores Z_PK y copie los valores correspondientes en la columna ZADDRESSBOOKUNIQUEID. Usando estos valores copiados, vuelve a la terminal y ejecuta un grep
$ grep -r 8F436716-52E6-49A9-AC03-2A120B08 *
…
Binary file Sources/187CB027-195A-4D96-99B2-B8A546A743DC/Metadata/8F436716-52E6-49A9-AC03-2A120B083CF9:ABPerson.abcdp matches
Ahora sí strings
en este archivo para saber la tarjeta de dirección de quién iba a borrar. Si es necesario, tome nota de la dirección, el número de teléfono, etc. que quiera conservar. A continuación, borre este archivo.
Repita este proceso para todas las demás entradas que se encontraron (una más en mi caso).
Por último, elimine las líneas en ZMAPPING que encontró mediante la consulta sql. No olvides confirmar/guardar.
Inicia la aplicación Contacts.app y vuelve a crear el contacto eliminado.