2009-08-11 6 views
3

iPhone 용 내장 주소록 프레임 워크를 사용하면 특정 연락처 목록을 NSUserDefaults의 배열에 저장할 수 있습니까? 나중에 수신자 목록을 저장해야합니다.연락처 목록을 NSUserDefaults에 저장

내 응용 프로그램이 닫힌 후 사용자가 연락처를 편집하면 문제가 발생하지 않도록하고 싶습니다. 각 연락처에 고유 한 ID가 있습니까? 나중에 저장하고 조회 할 수 있습니까?

답변

2

ABRecordID은 가장 확실하게 변화 할 (이 어려운 방법을 배운 - 여러 기계 연락처 동기화의 결과로) '

매트 겜멜이 iphone-dev-tips-for-synced-contacts

에서 좋은 작성자을 가지고 난을 저장하지 않습니다 합성어 이름이 아니라 ABRecordId, 이름, 성, 이메일 주소 및 전화 번호 (마지막 두 개는 내 앱에서 직접 사용)입니다.

나는 성, 이름에 대한 잠재적 인 일치를 찾은 다음 전화 번호로 그것을 수정하는 코드의 무리를 사용

ABRecordRef aRef = ABAddressBookGetPersonWithRecordID(addressBook, aRecordId); 

에 타격을하지 않는 경우.

마지막으로, 생성 된 UUID를 연락처에 연결하여 모든 (잠재적 인) 퍼지 해상도가 연락처와 연결되는 데이터에서 추출되도록합니다.

0

ABRecordRef에는 나중에 액세스 할 때 고유하게 식별 할 수 있어야하는 ABRecordID 속성이 있습니다.

+0

위의 설명과 같이 동기화로 인해 신뢰할 수 없습니다. 아마도 '09 년에는 그렇지 않았습니다. – MrTristan

2

주의 사항 사용자가 기기를 동기화 할 때이 ABRecordID가 바뀔 수있는 문제가 있음을 알았습니다 (적어도 OS3.0 이전 버전). 이 ID를 다시 사용하는 경우 분명히 문제가 발생할 수 있습니다. 이것이 OS3.0에서 아직도 일어나고 있는지 나는 모른다.

http://discussions.apple.com/thread.jspa?threadID=1771736

조심하는 뭔가.

관련 문제