我的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密钥中没有找到这样的密钥。
或者谓词包含我需要的键?
发布于 2016-09-13 10:19:07
Filip Radelic回答了相同的question
收藏夹存储在Phone.app中,而不是存储在地址簿数据库本身中。你不能在一个非越狱的iPhone上访问其他应用程序的沙箱,所以不幸的是答案是否定的。 此外,如果任何应用程序都能看到你最喜欢的联系人,这对隐私来说也是相当糟糕的。它可以不问你就可以访问整个地址簿,这已经很糟糕了。
https://stackoverflow.com/questions/39444444
复制相似问题