Ustawienie obrazu książki adresowej dla kontaktu wydaje się nie działać
Próbuję ustawić obraz kontaktu za pomocą poniższego kodu. Nie widzę żadnych błędów, a obraz nie jest zapisywany w pozycji kontaktu w książce adresowej. Proszę pomóż! Muszę zrobić coś złego ...
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person
{
[abcontroller setDisplayedPerson:person];
UIImage *im = [UIImage imageNamed:@"image1.jpg"];
NSData *dataRef = UIImagePNGRepresentation(im);
CFErrorRef error;
ABAddressBookRef addressBook = ABAddressBookCreate();
NSLog(@"Error:",error);
if (ABPersonSetImageData(person, (CFDataRef)dataRef, &error))
{
NSLog(@"Set contact photo %@", error);
if (ABAddressBookHasUnsavedChanges(addressBook))
{
NSLog(@"Changes made to address book");
}
else {
NSLog(@"No changes made to address book");
}
if (ABAddressBookSave(addressBook, &error))
{
NSLog(@"Saved");
}
else {
NSLog(@"Not saved");
}
}
else {
NSLog(@"Error saving contact photo %@", error);
}
ABAddressBookSave(addressBook, &error);
[self dismissModalViewControllerAnimated:YES];
return NO;
}
Oto mój dziennik wyjściowy:
2010-01-17 21:58:35.465 Error:
2010-01-17 21:58:35.504 Set contact photo <ABPeoplePickerNavigationController: 0x19e9b0>
2010-01-17 21:58:43.497 No changes made to address book
2010-01-17 21:58:44.724 Saved
Nie jestem pewien, dlaczego obiekt błędu rejestruje jako obiekt ABPeoplePickerNavigationController?