내가 특별히이 줄 알게 형 상품 ID '[itemid의 = 여러 객체 매핑 AB 키 AAMkADM2MDFmNGNmLWM3NmMtNGYxOS1iMDg4LWY0YjI1MGYzNjYxYQBGAAAAAABDPkLykrMnSJ1IqQdY8YscBwBYGhW8CcVeTK3joidjOJa9AAAAAAEiAABYGhW8CcVeTK3joidjOJa9AAA10vffAAA에 대한 발견을 내가 접촉 데이터베이스에 어딘가에 중복 있다고 지적 의심되는
이것이 터미널에서 해결 한 방법입니다.
cd ~/Library/ Application\ Support/AddressBook/
grep -r MtNGYxOS1iMDg4LWY0YjI1MGYzNjYxYQBGAAAAAABDPkLykrMnSJ1IqQdY8YscBwBYGhW8CcVeTK3jo *
(이것은 위의 "긴 문자열"의 일부입니다. 검색이 하나 개의 히트를 반환하기 때문에 그것은, 나를 위해 충분했다 Exchange
년 Sources/187CB027-195A-4D96-99B2-B8A546A743DC
)
이 파일은 SQLite DB 파일 인 것으로 입증되었습니다. SQLite 리더로 엽니 다. sqlitestudio를 사용했습니다.
이 데이터베이스에는 관심있는 ZMAPPING 테이블이 하나 있습니다.이 테이블에서 일부 SQL을 사용하여 관련 항목을 찾으십시오.
select * from zmapping where zitemid like '%AAMkADM2MDFmNGNmLWM3NmMtNGYxOS1iMDg4LWY0YjI1MGYzNjYxYQBGAAAAAABDPkLykrMnSJ1IqQdY8YscBwBYGhW8CcVeTK3joidjOJa9AAAAAAEiAABYGhW8CcVeTK3joidjOJa9AAA10vffAAA=%'
필자의 경우이 쿼리는 두 줄을 반환했습니다. 리턴 된 모든 행에 대해 Z_PK의 값을 참고하십시오. 이제 ZMAPPING 테이블에서 이러한 Z_PK 값이있는 행을 찾고 ZADDRESSBOOKUNIQUEID 열의 해당 값을 복사하십시오. 복사 된 값을 사용하여 터미널로 돌아가서 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
이제이 strings
파일에서 삭제하려고하는 주소 카드를 알아 냈습니다. 필요한 경우 보관할 주소, 전화 번호 등을 기록해 두십시오. 그런 다음이 파일을 삭제하십시오.
찾은 다른 모든 항목에 대해이 프로세스를 반복하십시오 (필자의 경우 하나 더).
마지막으로 sql 쿼리를 사용하여 찾은 ZMAPPING의 줄을 삭제하십시오. 커밋 / 저장하는 것을 잊지 마십시오.
Contacts.app를 시작하고 삭제 된 연락처를 다시 만듭니다.