Contacts.app si arresta in modo anomalo all'avvio

0

La mia Contacts.app si è bloccata al momento del lancio. Nel rapporto sul crash ho trovato, tra gli altri, il seguente estratto:

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
    
posta d-b 25.01.2016 - 00:10
fonte

1 risposta

0

In particolare ho notato questa linea mappature di oggetti multipli sono stati trovati per AB AAMkADM2MDFmNGNmLWM3NmMtNGYxOS1iMDg4LWY0YjI1MGYzNjYxYQBGAAAAAABDPkLykrMnSJ1IqQdY8YscBwBYGhW8CcVeTK3joidjOJa9AAAAAAEiAABYGhW8CcVeTK3joidjOJa9AAA10vffAAA key = di tipo itemId ', che sospettavo indicato che avevo un duplicato da qualche parte nel database dei contatti

Ecco come l'ho risolto, in un terminale:

cd ~/Library/ Application\ Support/AddressBook/
grep -r MtNGYxOS1iMDg4LWY0YjI1MGYzNjYxYQBGAAAAAABDPkLykrMnSJ1IqQdY8YscBwBYGhW8CcVeTK3jo *

(questo fa parte della "stringa lunga" sopra. Era abbastanza per me, dal momento che la ricerca ha appena restituito un hit, Exchange in Sources/187CB027-195A-4D96-99B2-B8A546A743DC )

Questo file si è dimostrato essere un file DB SQLite. Aprilo con un lettore SQLite. Ho usato sqlitestudio.

In questo database c'è una tabella ZMAPPING a cui siamo interessati. Trova le voci pertinenti in questa tabella con alcuni SQL

select * from zmapping where zitemid like '%AAMkADM2MDFmNGNmLWM3NmMtNGYxOS1iMDg4LWY0YjI1MGYzNjYxYQBGAAAAAABDPkLykrMnSJ1IqQdY8YscBwBYGhW8CcVeTK3joidjOJa9AAAAAAEiAABYGhW8CcVeTK3joidjOJa9AAA10vffAAA=%'

Nel mio caso questa query ha restituito due righe. Nota i valori in Z_PK per tutte le righe restituite. Ora guarda nella tabella ZMAPPING per le righe con questi valori Z_PK e copia i valori corrispondenti nella colonna ZADDRESSBOOKUNIQUEID. Usando questi valori copiati, torna al terminale ed esegui 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

Ora ho fatto strings su questo file per scoprire la scheda dell'indirizzo che stavo per eliminare. Se necessario, prendere nota dell'indirizzo, numero di telefono ecc. Che si desidera conservare. Quindi elimina questo file.

Ripeti questa procedura per tutte le altre voci trovate (una in più nel mio caso).

Infine, elimina le linee in ZMAPPING che hai trovato utilizzando la query sql. Non dimenticare di confermare / salvare.

Avvia Contacts.app e ricrea il contatto eliminato.

    
risposta data 25.01.2016 - 00:10
fonte

Leggi altre domande sui tag