2012-01-04 13 views
13

私は本当にここでいくつかの助けが必要です。ABAddressBookRegisterExternalChangeCallbackを使用して住所録の変更に登録

すべての例とまったく同じですが、通知はありません。

は、ここに私のコードです:

通知の登録
#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」はありません。
  • デバイス/シミュレータで動作するはずですか?
  • コールバックを宣言する具体的な方法はありますか?静的かもしれない?

助けてください。おかげさまで

答えて

8

[OK]を、私は知っている答えは今...

コールバックが、呼び出されているが、私は自分のアプリケーションをバック再開したときのみ。

+0

アドレス帳に新しく追加または編集された連絡先に関する情報はありますか? – BaSha

+0

@BaSha - はい、しました。 – Gal

+1

つまり、通知は一般的で、変更されたABエントリに関する情報は含まれていません。 – Gal

関連する問題