1
A
回答
1
1
這裏是一個示例代碼做相同的:
- (void)delAllContacts {
ABAddressBookRef addressBook = CFBridgingRetain((__bridge id)(ABAddressBookCreateWithOptions(NULL, NULL)));
int count = ABAddressBookGetPersonCount(addressBook);
if(count==0 && addressBook!=NULL) { //If there are no contacts, don't delete
CFRelease(addressBook);
return;
}
//Get all contacts and store it in a CFArrayRef
CFArrayRef theArray = ABAddressBookCopyArrayOfAllPeople(addressBook);
for(CFIndex i=0;i<count;i++) {
ABRecordRef person = CFArrayGetValueAtIndex(theArray, i); //Get the ABRecord
BOOL result = ABAddressBookRemoveRecord (addressBook,person,NULL); //remove it
if(result==YES) { //if successful removal
BOOL save = ABAddressBookSave(addressBook, NULL); //save address book state
if(save==YES && person!=NULL) {
CFRelease(person);
} else {
NSLog(@"Couldn't save, breaking out");
break;
}
} else {
NSLog(@"Couldn't delete, breaking out");
break;
}
}
if(addressBook!=NULL) {
CFRelease(addressBook);
}
}
0
+(BOOL)removedRecordFromAddressBookWithFirstValue:(NSString *)fullName{
BOOL recordRemoved=NO;
CFErrorRef err;
ABAddressBookRef addressBook=
ABAddressBookCreateWithOptions(NULL,&err);
CFArrayRef people=ABAddressBookCopyArrayOfAllPeople(addressBook);
CFIndex nPeople=ABAddressBookGetPersonCount(addressBook);
NSString *currRecordFullName=[[NSString alloc] init];
/*Invariant: No record with the name fullName has been
found so far.*/
for(int i=0;i<nPeople;i++){
ABRecordRef ref=CFArrayGetValueAtIndex(people,i);
CFErrorRef error=NULL;
currRecordFullName=nil;
currRecordFullName=[[NSString alloc] init];
currRecordFullName=
(__bridge NSString *)ABRecordCopyCompositeName(ref);
if([currRecordFullName isEqualToString:fullName]){
/*The record to be deleted has been found.*/
ABAddressBookRemoveRecord(addressBook,ref,&error);
ABAddressBookSave(addressBook,&error);
CFRelease(ref);
CFRelease(addressBook);
if(error!=NULL){
CFStringRef errorDesc=CFErrorCopyDescription(error);
NSLog(@"Failed to remove record: %@",errorDesc);
CFRelease(errorDesc);
}else{
NSLog(@"Record removed");
recordRemoved=YES;
}
break;
}else{;}
}
return recordRemoved;
}
相關問題
- 1. 使用personViewController從地址簿中刪除聯繫人
- 2. iOS:從地址簿中刪除聯繫人時出錯:[CNDataMapperContactStore executeSaveRequest:error:]
- 3. iphone調出地址簿聯繫人
- 4. 如何使用iphone中的uitextview從地址簿中搜索聯繫人?
- 5. 從地址簿獲取Facebook聯繫人
- 6. 如何將聯繫人添加到iPhone的地址簿?
- 7. 如何從地址簿中的聯繫人10-10
- 8. iPhone地址簿:如何選擇多個聯繫人?
- 9. 使用Xamarin Forms從地址簿中讀取聯繫人
- 10. 如何從iphone sdk的地址簿中訪問聯繫人圖片?
- 11. 從VCard添加聯繫人到地址簿(IPhone)
- 12. 在iPhone的UITextField在地址簿中的聯繫人
- 13. 獲取地址簿聯繫人的組?
- 14. Xcode從地址簿獲取聯繫人電子郵件地址
- 15. 用iPhone地址簿聯繫人創建快捷方式
- 16. 在iphone中添加聯繫人地址簿objective-c
- 17. iPhone到現有組添加聯繫人地址簿中
- 18. 如何在「本地」地址簿中創建聯繫人?
- 19. 需要顯示iPhone地址簿聯繫人的方法
- 20. 使用Applescript從Mac地址簿中刪除地址字段
- 21. iPhone SDK訪問地址簿公司聯繫人
- 22. iPhone地址簿和聯繫人ID?它會改變嗎?
- 23. iphone地址簿保存鏈接到一個聯繫人
- 24. 如何在blackBerry(風暴)中加載地址簿聯繫人
- 25. 如何在tableview中插入地址簿聯繫人
- 26. 如何從桌面視圖中的地址簿中讀取聯繫人?
- 27. 如何從地址簿中的聯繫人中選擇生日標籤?
- 28. 如何申請再次訪問iphone聯繫人地址簿的權限?
- 29. 如何顯示特定的個人聯繫方式地址簿Ui Iphone?
- 30. iPhone地址簿:如何獲取電話號碼的聯繫人列表?
你應該接受一些問題的答案。 – 2009-11-25 22:11:53