Iphone ABPersonSetImageData在没有图像时工作,在图像存在时不执行任何操作
我被卡住了,不知道该怎么办。苹果的文档似乎没有很好地涵盖这一点 我的代码:Iphone ABPersonSetImageData在没有图像时工作,在图像存在时不执行任何操作,iphone,addressbook,Iphone,Addressbook,我被卡住了,不知道该怎么办。苹果的文档似乎没有很好地涵盖这一点 我的代码: - (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person{ NSDictionary *info = [self selectedProjectInfo]; ABAddressBookR
- (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;
}
如果联系人中没有现有图像,则可以正常工作,但如果已经存在图像,则不会替换。有人知道我该怎么做吗
提前多谢大家大家只需点击它提供的链接即可解决问题,
我希望它能帮助您同时注意到,如果我设置图像,在联系人应用程序中删除图像,然后再次尝试从我的应用程序中设置图像,则图像不起作用!嗯…嗨,谢谢你的回答,但这对我没有帮助。我可以添加一个图像没有问题,如果一个没有(从来没有)存在的联系。问题在于是否存在现有图像或曾经存在的图像(即通过在通讯簿应用程序中编辑联系人删除的图像)。