使用ABAddressBookRegisterExternal Change Callback注册到地址簿更改

时间:2012-01-04 15:13:02

标签: iphone objective-c ios notifications abaddressbook

我真的需要一些帮助。

我与所有示例完全相同,但没有得到任何通知。

这是我的代码:

 #import <AddressBook/ABAddressBook.h>
 #import <AddressBook/AddressBook.h>

注册通知:

ABAddressBookRef book = ABAddressBookCreate();
ABAddressBookRegisterExternalChangeCallback(book, addressBookChanged, self);

回调的定义:

void addressBookChanged(ABAddressBookRef reference, 
                        CFDictionaryRef dictionary, 
                        void *context) 
{

   ViewController *viewController = (ViewController*)context;
   [viewController addressBookChanged];    
}

另一种方法:

-(void) addressBookChanged
{
   NSLog(@"%@", @"addressBookChanged");
}
  • 我正在运行该应用
  • 切换到联系人应用
  • 添加新联系人
  • 什么都没发生......没有记录,没有......

我在这里做错了什么?

  • 任何'#import'缺失?
  • 它应该在设备/模拟器上运行吗?
  • 声明回调的具体方法是什么?静可能?

任何帮助将不胜感激。 感谢。

1 个答案:

答案 0 :(得分:8)

好的,我现在知道了答案......

正在调用回调,但仅在我恢复我的应用程序时