如何使用SDK API将图像保存到iphone的AddressBook?

时间:2010-04-19 08:07:31

标签: iphone addressbook

我的目的是从图像库处理一个图像,并将此图像直接保存到从AddressBook中选择的一个人记录(即,“Tom”),我可以看到新图像取代了Tom的上一个图像,但我无法将其保存到AddressBook。

我实现了委托ABPeoplePickerNavigationControllerDelegate,并使用了以下逻辑,但无论我尝试了什么,修改后的记录都无法保存到地址簿中。

有任何线索或暗示?感谢

    ABAddressBookRef addressBook= ABAddressBookCreate();
    CFErrorRef error = NULL;
    BOOL wantToSaveChanges = YES;

    ABRecordSetValue(person, kABPersonFirstNameProperty, @"Shi", &error);//, &error)

    NSData * dataRef = UIImagePNGRepresentation(cellImage);
    ABPersonSetImageData(person, dataRef, &error);

    if (ABAddressBookHasUnsavedChanges(addressBook)) {\
        NSLog(@"need to save ");
        if (wantToSaveChanges) {
            ABAddressBookSave(addressBook, &error);
        } else {
            ABAddressBookRevert(addressBook);
        }
    }else {
        NSLog(@"no changes");
    }

    if (error != NULL) {/*... Handle error. ...*/
        NSLog(@"error happened here " );

    }

    CFRelease(addressBook);