跟踪ABRecordRef中的某些电子邮件更改

时间:2013-11-13 21:09:30

标签: ios iphone objective-c addressbook abrecord

我正在创建一个同步地址簿的应用程序。我已将地址簿记录同步到基于本地核心数据的数据库中,我已经可以获取它们了。使用ABRecordId可以轻松同步记录。我将某个地址簿记录的记录ID存储到我的本地数据库中,因此我可以根据id获取某个记录。我还可以通过实现ABAddressBookRegisterExternalChangeCallback来实现回调。但有没有办法跟踪特定电子邮件的变化。用户可以更改他的电子邮件,如何知道某个电子邮件是否已更改。

1 个答案:

答案 0 :(得分:2)

无法在每次有人编辑联系人时附加“监听器”,以某种方式调用应用程序中的某个功能。但是,有一种方法可以让您的应用程序保持最新状态:

在NSUserDefaults中存储一个变量,其中包含您上次从手机导入新联系人的日期。

当您的应用从后台恢复或首次打开时,您应该在手机的联系人中查询自上次与联系人同步后的所有已修改记录。这样,您只能处理更新的联系人,而不必每次都迭代每个保存的联系人。

您应该能够通过此属性对人员记录进行排序: kABPersonModificationDateProperty(reference