2016-04-26 12 views
0

私はiOSを初めて使用していて、アプリで連絡先を取得しましたが、連絡先IDを取得する方法...同じ名前で2つの番号が保存されている場合、その特定の連絡先名のIDを取得する方法は?iOSアプリで連絡先IDを取得するにはどうすればよいですか?

+0

、ABAddressbookの多くの方法は、iOSの9では非推奨となっていますか? – HardikDG

+0

連絡先フレームワークを使用して連絡先と連絡先IDを取得するプロセスを教えてもらえますか...私はABaddressbookフレームワークを使用しましたが、その非推奨の –

+0

は迅速または目的のCを使用していますか? – HardikDG

答えて

0

あなたはこのようにしてみてください可能性がありますあなたがABAddressbookコンタクトのフレームワークを使用している 輸入枠組み

#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..canあなたはまた、テーブルビューにフェッチされたコンタクト配列を追加する方法を教えてください? –

+0

配列インデックスをcellForRowAtIndexPathメソッドのインデックスに指定し、キーを使用して特定のオブジェクトからデータを取得します。 – HardikDG

関連する問題