ios - 从 Facebook 或 gmail 或任何其他云 iOS 获取与 cncontactstore 的联系

标签 ios objective-c iphone ios9 cncontactstore

目前我正在使用这段代码从 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/

相关文章:

iphone - RaptureXML 有点慢

ios - 为什么第一次弹出窗口要花很多时间?

iphone - objective-c 中的componentsSeparatedByString是什么意思?

iphone - 在发布消息后保留 View Controller 的计数不等于零

ios - iOS 上的 BLE 扫描不返回 UUID 信息

ios - iOS AWS v2 S3 Transfer Manager必须使用指定的端点

ios - 使用json,读取objective c中的内容

ios - 如何根据 UITableView 滚动动态调整 UITableViewCell 的大小?

ios - AVAudioPlayer 缓慢降低级别

iphone - 我的 UIColor 代码有什么问题?