2010-04-19 22 views
1

我的目的是處理圖像庫中的一個圖像,並將該圖像直接保存到從AddressBook中選擇的一個人記錄(即,「湯姆」),我可以看到新圖像取代湯姆的前一張圖像,但我無法將其保存到AddressBook。如何使用SDK API將圖像保存到iphone的地址簿?

我實現了委託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); 
+0

什麼是錯誤('CFShow(錯誤);')? – kennytm 2010-04-19 08:20:52

回答

相關問題