-3
我需要獲取來自設備的所有聯繫人,並希望單獨顯示相應..kindly來看看我的代碼感謝如何獲取設備的聯繫人以及如何單獨顯示
// using method to fetch contacts from device
-(void)fetchContacts{
CNAuthorizationStatus status = [CNContactStore authorizationStatusForEntityType:CNEntityTypeContacts];
if(status == CNAuthorizationStatusDenied || status == CNAuthorizationStatusRestricted){
NSLog(@"access denied");
}else{
CNContactStore *contactStore = [[CNContactStore alloc] init];
NSArray *keys = [[NSArray alloc]initWithObjects:CNContactIdentifierKey, CNContactEmailAddressesKey, CNContactBirthdayKey, CNContactImageDataKey, CNContactPhoneNumbersKey, CNContactViewController.descriptorForRequiredKeys, nil];
CNContactFetchRequest *request = [[CNContactFetchRequest alloc] initWithKeysToFetch:keys];
request.predicate = nil;
[contactStore enumerateContactsWithFetchRequest:request error:nil usingBlock:^(CNContact* __nonnull contact, BOOL* __nonnull stop){
NSString *phoneNumber = @"";
if(contact.phoneNumbers)
phoneNumber = [[[contact.phoneNumbers firstObject] value] stringValue];
NSMutableDictionary *contactValue=[[NSMutableDictionary alloc] init];
if ([contact.givenName isEqualToString:@""]) {
}else{
[contactValue setValue:phoneNumber forKey:@"phoneNumber"];
[contactValue setObject:contact.givenName forKey:@"userName"];
[contactValue setObject:contact.familyName forKey:@"familyName"];
[contactValue setObject:[contact.emailAddresses valueForKey:@"value"] ?:@"" forKey:@"emailAddress"];
[contactValue setObject:contact.identifier forKey:@"phoneIdentifier"];
}
[_totalContact addObject:contactValue];
}];
}
請您甲酸鹽代碼。 – Sofeda
和一些細節。 – Sofeda