ABPersonSetImageData работает, если нет изображения, ничего не делает, если изображение существует - PullRequest
0 голосов
/ 25 июля 2010

Я застрял и не знаю, что делать. Документы по 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;

}

Работает нормально, если в контакте нет изображения, но оно уже не заменено Кто-нибудь знает, что мне делать?

Большое спасибо заранее

1 Ответ

0 голосов
/ 27 июля 2010

Привет, просто перейдите по ссылке, в которой есть решение, нажмите здесь

Надеюсь, это поможет вам

...