1

Facebook にメッセージを投稿するコードにエラー処理を追加していますが、理解しようとしている奇妙な動作に遭遇しています。FB の startForPostWithGraphPath の完了ハンドラーで、エラーがあるかどうかを確認します。エラーがある場合は、数秒待ってから再度投稿を試みます。私が直面している問題は、メソッドを呼び出してこのメ​​ッセージをもう一度投稿しようとすると、メインスレッドで実行すると正常に動作することです。バックグラウンド スレッドで実行しようとすると、黙って失敗します。完了ハンドラーと同様に、2 回目に呼び出されることはありません。

作品

dispatch_after(popTime, dispatch_get_main_queue(),
               ^(void){
                    [MYSocial shareToOpenGraph:poll];
               });

失敗する

dispatch_after(popTime, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),
               ^(void){
                 [MYSocial shareToOpenGraph:poll];
               });

メイン スレッドで呼び出す必要がある FB リクエスト メソッドの経験がある人が他にいるかどうか知りたいです。バックグラウンド スレッドで再試行ロジックを呼び出すことは正しい動作のように思えますが、明らかに何らかの理由で機能していません。

4

1 に答える 1