gpt4 book ai didi

objective-c - 未检测到已删除的条目-iOS

转载 作者:行者123 更新时间:2023-12-01 17:01:40 25 4
gpt4 key购买 nike

是否可以从应用程序中检测删除的通讯簿条目(例如,从iOS电话簿本身)?

我有一个需要将iOS通讯簿数据库的本地副本与电话中的通讯簿同步的应用程序。该应用程序在支持它的iOSes上支持后台模式。

在具有后台功能的iOS环境中测试应用程序,我的问题是:在应用程序完全关闭(iOS 4在跳板中用红色X杀死它)之前,该应用程序无法检测到已在系统地址簿中删除的条目。 )。如果仅将应用程序发送到后台,则会从系统通讯簿中删除联系人,然后将该应用程序再次带到前台,用于删除条目ID的函数ABRecordRef()不会返回NULL(如预期的那样)它不再存在,它将返回该条目,就好像从未将其从系统地址簿数据库中删除一样。

如上-如果应用程序已完全终止并重新启动,则删除ID的ABRecordRef()将按预期工作-它返回NULL。有什么方法可以检测此已删除的条目,而无需等待应用程序被杀死并重新启动?

最佳答案

是。使用ABAddressBookRegisterExternalChangeCallback注册对通讯录的更改,例如

// Your method called when the user has granted access to their address book data.
- (void)accessGrantedForAddressBook
{
ABAddressBookRegisterExternalChangeCallback(sharedAddressBook, MyAddressBookExternalChangeCallback, (__bridge void *)(self));
}

其中 MyAddressBookExternalChangeCallback是您的回调函数。

关于objective-c - 未检测到已删除的条目-iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6224849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com