2011-01-13 3 views
1

"로컬"주소록에 프로그래밍 방식으로 연락처를 만들고 싶습니다 (동기화를 시도하지 않기 때문에 Exchange와의 호환성 문제가 발생합니다)."로컬"주소록에 연락처를 만드는 방법은 무엇입니까?

로컬 주소록이 이미 존재하는 경우, 그때 "kABSourceTypeLocal"의 sourceTypeRef와 ABRecordRef을 찾아, 주소록에있는 모든 소스를 얻기 위해 ABAddressBookCopyArrayOfAllSources을 사용하여 찾을 수 있습니다 -, 그때 recordRef 그 ABPersonCreateInSource에 전달하면 I 로컬 디렉토리에 레코드를 추가 할 수 있습니다.

이미 로컬 주소록이 아닌 경우 "로컬 주소록"에 레코드를 만드는 것이 가장 좋은 방법에 대한 제안 사항이 있습니까?

(또한, 나는 위의 호출 후 사용할 수 없었던으로이 사전 iOS4가 할 수있는 방법?)

감사

피터

+0

안녕하세요, 저는 확인하고 싶었습니다. 연락처를 기본 연락처 응용 프로그램에 저장할 수 있기를 원했습니까? – Pavan

+0

기본 주소록은 로컬 주소록이 아니므로 로컬 주소록 (또는 이메일 주소를 다시 포맷하여 내 연락처 레코드를 삭제하므로 동기화를 피하는 다른 방법이 필요합니다. 주소록 페이지 (예 : 주소록 그룹 페이지의 '내 iPhone에서')에 수동으로 로컬 주소록을 만들고 연락처를 저장하면 내 앱이 훌륭하게 작동하지만 사용자에게이 주소를 공개하고 싶습니다. –

+0

... 반면에 귀하의 질문이 "연락처를 주소록에 저장하여 다른 응용 프로그램 (개인이 아닌 다른 사용자)이 액세스 할 수있게 하시겠습니까?"라고 대답 한 경우 대답은 "예"여야합니다. –

답변

1

당신은이 게시물에서 살펴 보셔야합니다 : Obtaining Specific ABSource from ABAddressBook in iOS 4+

ABAddressBook에서 특정 소스 (ABSource)를 식별하고 대상을 지정하는 방법을 보여줍니다. 이 코드에는 ABGroupCreateInSource() 함수가 언급되어 있지만 비슷한 기능인 사람과 작업하기위한 ABPersonCreateInSource()가 있습니다.

1

간단한 해결 방법을 발견했습니다. 당신이 볼 수 없기 때문에/당신이 어떤 기존의 지역 접촉이없는 경우 현지 연락처를 추가, 다음과 같은 해결 방법을 사용하는 것이 안전합니다 :

  1. 하는의 당신이 Gmail에 (교환)를 사용하는 척하자
  2. Gmail에 메일 설정으로 이동 및 보관 또는 휴대 전화에서 Gmail을 연락처를 제거, 제거를 선택할지 여부를 묻는 메시지가 표시되면 연락처 동기화
  3. 을 해제 (걱정하지 마세요, 그들은 되지 않습니다 Gmail에서 삭제됨)
  4. 연락처로 돌아갑니다. 이제 하나의 로컬 연락처를 만들 수 있습니다
  5. 마지막으로, Gmail 연락처가 휴대 전화로 다시이며, 지금 1 개 지역 접촉이/메일/Gmail을하고 연락처
  6. 짜잔를 동기화 재 활성화 다시 설정으로 이동하는 Gmail 주소록 그룹 외에 로컬 주소록 그룹에 액세스 할 수 있습니다.

호프가 도움이되었습니다. (저는 방금 같은 문제가있어서이 해결 방법이 저에게 효과적이었습니다).

벤.

+1

안녕하세요, 네,이 일을하고, 내 사용자에게이 방법을 조언했지만, 코드에서 이것을 할 수있는 것이 훨씬 더 좋을 것입니다. 이 사용자는 항상 일정한 수의 사용자가 있습니다 (이 사용자가 도움을 요청하지 않았기 때문에 때때로 나쁜 리뷰를 받게됩니다) –