2016-04-26 6 views
0

Я новичок в iOS, и я нашел контакты в своем приложении, но как получить идентификатор контакта ... предположим, если есть два числа, сохраненные с тем же именем, и как получить идентификатор этого конкретного имени контакта?Как получить идентификатор контакта в приложении iOS?

+0

вы используете ABAddressbook или Контакты рамки, многие метод ABAddressbook являются устаревшими в ИУ 9? – HardikDG

+0

Можете ли вы рассказать мне о процессе установления контактов и идентификатора контакта с помощью структуры контактов ... Я использовал структуру ABaddressbook, но ее устаревшие –

+0

вы используете быстро или объективно? – HardikDG

ответ

0

Вы можете попробовать так: структура импорта

#import <Contacts/Contacts.h> 

Код

- (void) getContacts { 
    CNContactStore *store = [[CNContactStore alloc] init]; 
    [store requestAccessForEntityType:CNEntityTypeContacts completionHandler:^(BOOL granted, NSError * _Nullable error) { 
     if (granted == YES) { 
      //keys with fetching properties 
      NSArray *keys = @[CNContactFamilyNameKey, CNContactGivenNameKey, CNContactPhoneNumbersKey, CNContactImageDataKey]; 
      NSString *containerId = store.defaultContainerIdentifier; 
      NSPredicate *predicate = [CNContact predicateForContactsInContainerWithIdentifier:containerId]; 
      NSError *error; 
      NSArray *cnContacts = [store unifiedContactsMatchingPredicate:predicate keysToFetch:keys error:&error]; 
      if (error) { 
       NSLog(@"error fetching contacts %@", error); 
      } else { 
       for (CNContact *contact in cnContacts) { 
        //store all the contacts as per your requirement 
        NSLog(@"Id %@",contact.identifier);//the contact id which you want 
        NSLog(@"Name %@",contact.givenName); 
       } 
      } 
     }   
    }]; 
} 
+0

@AmrutGaikwad Рад, что это помогает, если этот ответ поможет вам решить свой вопрос, пожалуйста, выберите ответ как правильный. Спасибо – HardikDG

+0

ok..может вы также сказать мне, как добавить этот выбранный массив контактов в представление таблицы? –

+0

предоставляют индекс массива для индекса метода cellForRowAtIndexPath и получают данные от конкретного объекта с помощью ключа – HardikDG

Смежные вопросы