Я застрял и не знаю, что делать. Документы по Apple, кажется, не очень хорошо это освещают.
Мой код:
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person{
NSDictionary *info = [self selectedProjectInfo];
ABAddressBookRef addressBook = ABAddressBookCreate();
CFErrorRef error = nil;
if (ABPersonSetImageData(person, (CFDataRef)(UIImageJPEGRepresentation([UIImage imageWithContentsOfFile:[info objectForKey:@"ImagePath"]], 1.0f)), &error))
{
ABAddressBookAddRecord(addressBook, person, &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");
UIAlertView *contactSuccessAlert = [[UIAlertView alloc] initWithTitle:@"Success" message:nil delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[contactSuccessAlert show];
[contactSuccessAlert release];
}
else {
NSLog(@"Not saved");
}
}
else {
NSLog(@"Error saving contact photo %@", error);
}
CFRelease(addressBook);
[self.navigationController dismissModalViewControllerAnimated:YES];
return NO;
}
Работает нормально, если в контакте нет изображения, но оно уже не заменено Кто-нибудь знает, что мне делать?
Большое спасибо заранее