0

我需要知道通讯录中当前人员的卡是否从我的应用程序中更改。

我最好的办法是在里面保存一些数据或属性ABAddressbook

如何在 iOS 6 中将一些额外数据保存在个人卡片中?

4

1 回答 1

1

iOS 不提供在地址簿中存储额外数据的工具。

保留额外联系人相关数据的最直接方法是使用 ABPerson 记录的 RecordID 将其存储在您的应用程序中。但是,请注意,这些标识符可能会消失(如果从地址簿中删除记录)甚至更改(如果使用更改了同步配置,例如 iCloud)。如果您确实需要保持与 ABPerson 记录匹配的额外数据,那么您可以获取 CompositeName 属性的副本(这是从名字、姓氏等构造的派生值),然后如果缓存的 RecordID 查找失败,则寻找具有匹配 CompositeName 的记录。

如果您只想确定 ABPerson 记录是否已更改,那么仅缓存 ModificationDateProperty 的值并将其与新值进行比较就足够了?

于 2013-04-15T17:26:24.690 回答