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

CNContact: Contact Identifier properly changes after saving a contact to device

我只在一个 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,因此,我们假设现在通过应用程序添加的联系人已被删除并添加了另一个联系人。

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

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

我观察到 .identifier 在您保存到 Google 通讯录后会发生变化,但在您保存到 iCloud 通讯录时保持不变。