1
연락처 표시 표로 ABPeoplePickerNavigationController
을 사용하고 있습니다. 연락처를 탭하여 새로운 이미지를 설정해야합니다. 사람 데이터 변경을 위임하기위한 코드를 추가했지만 이미지를 변경할 수는 없습니다. 어떤 제안?연락처 이미지 설정 iOS
이 아래에있는 내 코드입니다 :
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person
{
NSData *dataRef = UIImagePNGRepresentation(self.theImage);
CFDataRef cfdata = CFDataCreate(NULL, [dataRef bytes], [dataRef length]);
CFErrorRef error;
ABPersonRemoveImageData(person, &error); // clean any image first from ref
if (ABAddressBookSave(_addressBook, &error))
{
ABPersonSetImageData(person, cfdata, &error);
ABAddressBookSave(_addressBook, &error);
}
CFRelease(cfdata);
[self dismissViewControllerAnimated:YES completion:nil];
return NO;
}
내가 여기에서 샘플을 다운로드 : 당신이 내 코드를 아래 대리자를 코드를 다운로드하고 수정할 수 있습니다 작동하는 방법 link
확인합니다.
의견을 보내 주셔서 감사합니다. 귀하의 의견에 따라 코드로 내 질문을 업데이트했지만 여전히 내 연락처에 해당 이미지가 표시되지 않습니다. 나는 cfdata, person, _addressBook 모두 값이 있음을 확인했다. –
내가 다운로드 한 곳의 소스에 대한 링크를 추가했다. –
다른 주소록 참조를 사용했다고 생각한다. ABPeoplePickerNavigationController에서 주소록의 인스턴스를 가져오고 올바르게 작동합니다. 감사 –