Ios 如何确定CNContact是收藏夹?

Ios 如何确定CNContact是收藏夹?,ios,cocoa-touch,contacts,favorites,cncontact,Ios,Cocoa Touch,Contacts,Favorites,Cncontact,我的iOS应用程序使用代码从设备获取联系人 [[CNContactStore new] requestAccessForEntityType:CNEntityTypeContacts completionHandler:^(BOOL granted, NSError *error) { if (granted) { NSArray *keys = @[CNContactNamePrefixKey, CNContactGivenNameKey

我的iOS应用程序使用代码从设备获取联系人

[[CNContactStore new] requestAccessForEntityType:CNEntityTypeContacts completionHandler:^(BOOL granted, NSError *error) {
  if (granted) {
    NSArray *keys = @[CNContactNamePrefixKey,
                      CNContactGivenNameKey,
                      CNContactMiddleNameKey,
                      CNContactFamilyNameKey,
                      // ...
    NSString *containerId = store.defaultContainerIdentifier;
    NSPredicate *predicate = [CNContact predicateForContactsInContainerWithIdentifier:containerId];
    NSArray *cnContacts = [store unifiedContactsMatchingPredicate:predicate keysToFetch:keys error:&error];
    for (CNContact *contact in cnContacts) {
      // contacts fetching
    }
  }
}];
CNContact类是否有一些值表示联系人在设备(电话应用程序)的收藏夹中?我在CNContact key中没有找到这样的密钥

或者谓词包含我需要的键?

回答相同:

收藏夹存储在Phone.app中,而不是地址簿数据库本身。你不能在非越狱iPhone上访问其他应用程序的沙箱,所以很不幸,答案是否定的

此外,如果任何应用程序都能看到你最喜欢的联系人,这对隐私也会非常不利。它不需要问你就可以访问整个通讯录,这已经很糟糕了


即使使用Contacts,这仍然是真的吗?