iOS地址簿 - 如何知道添加/编辑/删除了哪个联系人?

mai*_*cio 9 objective-c abaddressbook ios

我的应用程序需要在我们的服务器上存储用户的联系人(当然,在用户的许可下.)其中一个要求是将设备地址簿(添加/编辑/删除)的任何更改反映到服务器.

在重新启动应用程序之前,是否有一种简单的方法/最佳实践来确定哪些地址簿联系人已更改?

我只能看到回调方法来通知应用程序地址簿中的更改,但似乎没有记录的方法来确定添加,编辑或删除哪些联系人.

我现在想的是手动将新的联系人列表与存储在设备上的联系人列表进行比较,然后更新应用程序和服务器的更改.但我认为如果用户有大量的联系人可能会太多.

谢谢!

Chr*_*aze 1

研究使用 libsqlite3.dylib 并创建一个 SQL 数据库,该数据库将访问为所需的所有属性生成的平面文件,然后定期将数据库与用户的设备进行比较。确保两个数据库仅从地址簿框架获取您所需的基本必需品。

带有 sqlite3 库的示例 iOS 项目在这里:

http://www.techotopia.com/index.php/An_Example_SQLite_based_iOS_7_Application

& 有关使用 ABAddressbook 获取联系人多值属性的详细信息,请参见此处:

http://linuxsleuthing.blogspot.com/2012/10/addressing-ios6-address-book-and-sqlite.html