目前我正在使用这段代码从 iPhone 中获取联系人
CNContactStore *store = [[CNContactStore alloc] init];
[store requestAccessForEntityType:CNEntityTypeContacts completionHandler:^(BOOL granted, NSError * _Nullable error) {
if (granted == YES) {
//keys with fetching properties
NSArray *keys = @[CNContactGivenNameKey,CNContactFamilyNameKey, CNContactPhoneNumbersKey, CNContactImageDataKey];
[[CNContactsUserDefaults sharedDefaults] sortOrder];
NSString *containerId = store.defaultContainerIdentifier;
//NSComparator hg= [CNContact comparatorForNameSortOrder:CNContactSortOrderGivenName];
NSPredicate *predicate = [CNContact predicateForContactsInContainerWithIdentifier:containerId];
NSError *error;
NSArray *cnContacts = [store unifiedContactsMatchingPredicate:predicate keysToFetch:keys error:&error];
NSSortDescriptor *sortDescriptor;
sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"givenName"
ascending:YES];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
NSArray *sortedArray = [cnContacts sortedArrayUsingDescriptors:sortDescriptors];
}];
但在这里我只从 iCloud 获取联系人。
我如何从 Facebook、gmail 或任何其他云获取联系方式? 请帮助解决这个问题。
最佳答案
我花了 2 天时间解决这个问题,但没有得到任何解决方案。
然后用一个补丁就完成了。这对我有用。
if ([container.name isEqualToString:@"Card"]) {
NSLog(@"iCloud");
}else if ([container.name isEqualToString:@"Address Book"]){
NSLog(@"google");
}else if ([container.name isEqualToString:@"Contacts"]){
NSLog(@"Yahoo");
}else{
NSLog(@"Other");
}
关于ios - 从 Facebook 或 gmail 或任何其他云 iOS 获取与 cncontactstore 的联系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35333022/