1 votos

Contacts.app se bloquea al iniciarse

Mi aplicación Contacts.app se ha bloqueado al iniciarse. En el informe de fallo encontré, entre otros, el siguiente extracto:

Application Specific Information:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Multiple object mappings were found for AB key AAMkADM2MDFmNGNmLWM3NmMtNGYxOS1iMDg4LWY0YjI1MGYzNjYxYQBGAAAAAABDPkLykrMnSJ1IqQdY8YscBwBYGhW8CcVeTK3joidjOJa9AAAAAAEiAABYGhW8CcVeTK3joidjOJa9AAA10vffAAA= of type itemId'
terminating with uncaught exception of type NSException
abort() called

1voto

Ady Puntos 4132

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.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X