当前位置:首页 > 操作系统 > Ios

iOS 通讯录编程,监听系统通讯录变更

监听通讯录变更

客户端代码需要这么实现:

/*
 移除注册函数
 */
-(void)dealloc{
        ABAddressBookUnregisterExternalChangeCallback(_addressBook, ContactsChangeCallback, nil);
}
/*
 注册回调函数
 */
- (id)init {
    self = [super init];
    [self addressBookHandle];
    ABAddressBookRegisterExternalChangeCallback(_addressBook, ContactsChangeCallback, nil);

    return self;
}
/*
 回调函数,实现自己的逻辑。
 */
void ContactsChangeCallback (ABAddressBookRef addressBook,
                                                       CFDictionaryRef info,
                                                       void *context){

    NSLog(@"ContactsChangeCallback");
}

_addressBook是通讯录句柄

监听规则:

当App活跃(前台+后台包活期间)的时候,当通讯录修改的时候,会收到通知

当App不活跃的时候(挂起的时候),App收不到通知;而是,当App到前台的时候收到延迟的通知。

原文:http://blog.csdn.net/hherima/article/details/38740745


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!