微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CNContact:将联系人保存到设备后,联系人标识符会正确更改

如何解决CNContact:将联系人保存到设备后,联系人标识符会正确更改

我仅在一部iPhone 11 pro中面临一个奇怪的问题。当我尝试保存新联系人时,首先保存该联系人并获取contactId,然后将其保存到数据库中。

First log: 2020/10/15 20:22:42:181 EVENT: OTHER Add/Updated Contact with deviceid = 19C34E70-0C79-4A5D-B7BF-A31229A3A157:ABPerson

执行上述步骤后,我得到带有:ABPerson后缀的contactId,并在数据库中进行更新。我们还将观察CNContactStoreChangeNotification,以获取有关更改的通知。收到更改通知后,当我们尝试搜索添加的同一个新联系人时,我们将为同一个联系人获取新的contactId,因此,我们假设现在已删除通过应用添加的联系人,并添加了另一个联系人。 / p>

2020/10/15 20:22:45:717 [DEVICE_COMPARE]: To Be Added = 7BD48335-F4FD-408B-9807-495F5B34417F
2020/10/15 20:22:45:717 [DEVICE_COMPARE]: To Be Delete = 19C34E70-0C79-4A5D-B7BF-A31229A3A157:ABPerson

on Notification

解决方法

您提到仅在一台设备上看到此问题 - 该设备是否使用与其他设备不同的默认地址簿? (特别是 Google 地址簿)

我观察到 .identifier 在您保存到 Google 地址簿后片刻会发生变化,但在您保存到 iCloud 地址簿时保持不变。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。