私の状況では、アプリがアクティブになるたびに、Facebook からデータを同期する必要があります。この同期はバックグラウンドで行う必要があり、GUI をロックしないでください (したがって、メイン キューで実行しないでください)。
したがって、私の- applicationDidBecomeActive:
メソッドには次のコードがあります。
dispatch_async(dispatch_get_global_queue(0,0), ^{
[[FacebookHelper sharedInstance] syncData];
});
FacebookHelper は、すべての Facebook 処理を処理するシングルトン クラスです。FacebookHelper クラスでは、Facebook デリゲート メソッドを実装しました。しかし、何らかの理由で上記のコードを実行すると、Facebook デリゲート メソッド- request:didLoad:
(Facebook データのダウンロードが完了したとき) が呼び出されません。同じコードを実行するdispatch_sync
と終了します (ただし、GUI はブロックされます)。
編集: Facebook SDK v2