Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone ABPersonSetImageData在没有图像时工作,在图像存在时不执行任何操作_Iphone_Addressbook - Fatal编程技术网

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;
}

如果联系人中没有现有图像,则可以正常工作,但如果已经存在图像,则不会替换。有人知道我该怎么做吗


提前多谢大家

大家只需点击它提供的链接即可解决问题,


我希望它能帮助您

同时注意到,如果我设置图像,在联系人应用程序中删除图像,然后再次尝试从我的应用程序中设置图像,则图像不起作用!嗯…嗨,谢谢你的回答,但这对我没有帮助。我可以添加一个图像没有问题,如果一个没有(从来没有)存在的联系。问题在于是否存在现有图像或曾经存在的图像(即通过在通讯簿应用程序中编辑联系人删除的图像)。