在客户端实现一下的代码
/*
移除注册函数
*/
-(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是通讯录句柄
监听规则:
1、当App活跃(前台+后台包活期间)的时候,当通讯录修改的时候,会收到通知
2、当App不活跃的时候(挂起的时候),App收不到通知;而是,当App到前台的时候收到延迟的通知。