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. 刪除聯繫人組中的人(在Mac地址簿中)
- 3. 如何在地址簿中插入/更新/刪除聯繫人
- 4. iphone調出地址簿聯繫人
- 5. iOS:從地址簿中刪除聯繫人時出錯:[CNDataMapperContactStore executeSaveRequest:error:]
- 6. 如何使用iphone中的uitextview從地址簿中搜索聯繫人?
- 7. 從地址簿中顯示聯繫人
- 8. 從地址簿獲取Facebook聯繫人
- 9. 從iPhone地址簿中排序聯繫人
- 10. 從Iphone地址簿中獲取聯繫人
- 11. 如何將聯繫人添加到iPhone的地址簿?
- 12. 如何獲得iphone地址簿中所有聯繫人的家庭地址
- 13. 撥打地址簿中的聯繫人
- 14. iPhone地址簿:如何選擇多個聯繫人?
- 15. 如何從地址簿中的聯繫人10-10
- 16. 如何從iphone sdk的地址簿中訪問聯繫人圖片?
- 17. 從VCard添加聯繫人到地址簿(IPhone)
- 18. 如何使用地址簿聯繫人詳細信息在iPhone中生成vcard?
- 19. 無法看到的地址簿中的聯繫人在iPhone
- 20. 在iPhone的UITextField在地址簿中的聯繫人
- 21. 使用Xamarin Forms從地址簿中讀取聯繫人
- 22. 訪問Iphone地址簿中的聯繫人?
- 23. 如何使用iphone sdk編輯/修改地址簿的聯繫人?
- 24. 存儲地址簿聯繫人的kABPersonImageFormatThumbnail
- 25. 用iPhone地址簿聯繫人創建快捷方式
- 26. iPhone到現有組添加聯繫人地址簿中
- 27. 在iphone中添加聯繫人地址簿objective-c
- 28. Xcode從地址簿獲取聯繫人電子郵件地址
- 29. 如何在「本地」地址簿中創建聯繫人?
- 30. 地址簿 - 正在檢索聯繫人
你應該接受一些問題的答案。 – 2009-11-25 22:11:53