简体   繁体   English

如何检查该联系人是否已添加到iPhone电话簿?

[英]how to check that contact is already added to iphone phonebook or not?

我想检查一下iphone电话簿是否已经添加了联系人,如果添加则我不会添加它,它是不添加然后我会添加新的联系人,,,,我想只想比较一个名字这样因为“Veer”存在于电话簿中

ABAddressBookRef addressbook = ABAddressBookCreateWithOptions(Nil, Nil);
 NSArray *people = (__bridge NSArray*)ABAddressBookCopyArrayOfAllPeople(addressbook);
NSMutableArray *namearray=[[NSMutableArray alloc] init];
for(id person in people){
      NSString *firstNameString = (__bridge NSString*)ABRecordCopyValue((__bridge   ABRecordRef)(person),kABPersonFirstNameProperty);
    NSLog(@"%@",firstNameString);
        [namearray addObject:firstNameString];
  }
    NSLog(@"%@",namearray);
NSString *yourString = name you want to add;
BOOL identicalStringFound = NO;
for (NSString *someString in namearray) {
    if ([someString isEqual:yourString]) {
        identicalStringFound = YES;
        break;
    }
}
if(identicalStringFound)
 {
    //code you want to perform
 }
else
 {
    //code you want to perform
 }
+ (NSArray *) findContactsContainingName: (NSString *) fname
{
    // Load the contacts
    ABAddressBookRef addressBook = CFAutorelease(ABAddressBookCreate());
    NSArray *thePeople = (NSArray *)ABAddressBookCopyArrayOfAllPeople(addressBook);
    NSMutableArray *contacts = [NSMutableArray arrayWithCapacity:thePeople.count];
    for (id person in thePeople)
        [array addObject:[ABContact contactWithRecord:(ABRecordRef)person]];
    [thePeople release];

    // search the contacts for fname
    NSPredicate *pred;
    pred = [NSPredicate predicateWithFormat:@"firstname contains[cd] %@ OR lastname contains[cd] %@ OR nickname contains[cd] %@ OR middlename contains[cd] %@", fname, fname, fname, fname];
    return [contacts filteredArrayUsingPredicate:pred];
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM