gpt4 book ai didi

ios - CNContact 标识符中的 ":ABPerson"字符串是什么?

转载 作者:行者123 更新时间:2023-12-04 11:04:44 25 4
gpt4 key购买 nike

我的 iOS 应用程序会不时检查联系人并将新联系人导入自己的数据库。

我通过 identifier 检查联系人是否已存在字段,通常由 UUID 填充:

CNContactStore *store = [CNContactStore new];
[store requestAccessForEntityType:CNEntityTypeContacts completionHandler:^(BOOL granted, NSError *error) {
if (granted) {
NSArray *keys = @[CNContactNamePrefixKey,
CNContactGivenNameKey,
CNContactMiddleNameKey,
CNContactFamilyNameKey,
CNContactInstantMessageAddressesKey];
NSString *containerId = store.defaultContainerIdentifier;
NSPredicate *predicate = [CNContact predicateForContactsInContainerWithIdentifier:containerId];
NSArray *cnContacts = [store unifiedContactsMatchingPredicate:predicate keysToFetch:keys error:&err];
for (CNContact *contact in cnContacts) {
...
NSString *contactId = [contact identifier];
[fetchRequest setPredicate:[NSPredicate predicateWithFormat:@"uuid == %@", contactId]];

...

}

有时标识符除了 UUID 包含 :ABPerson字符串(例如 9326A125-3C0A-494F-9E50-BBFCF1140EF0:ABPerson ),这样的联系只会出现一次。下一次出现相同的联系人,但使用另一个 UUID 并且没有 :ABPerson .

所以,我的联系人导入器认为他们是 2 个不同的联系人并保存了 2 次。

什么是 :ABPerson CNContact 标识符中的字符串?
我知道 AddressBook frameworkABPerson类,但我正在使用 Contacts使用设备联系人的框架,为什么 :ABPerson出现在这里?
我可以只过滤或检查标识符中的此字符串以防止联系人重复吗? CNContact 中是否可能包含其他字符串?身份标识?

最佳答案

看起来像 :ABPerson从联系人应用程序共享联系人时添加。顺便说一句,请小心,因为即使在同一设备上,共享联系人也可能具有不同的 ID。

关于ios - CNContact 标识符中的 ":ABPerson"字符串是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41379885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com