0

wait_fences:応答の受信に失敗しました:10004003

このエラーが引き続き発生します。アプリの起動時に発生します。この問題をどのようにデバッグしますか。wait_fencesを見て、そこで何が起こっているかを確認する方法はありますか?どのスレッドが何をブロックしているかを確認する方法はありますか?

このエラーは、ボイドに出入りするツールや情報がない、ブラックホールに他ならないように感じます。

このエラーをデバッグするためのヒントをお持ちの方は大歓迎です。

新しい

スレッドを変更しました。すべてのスレッド呼び出しは、このメソッドセットを通過して、すべてのディスパッチを実行します。

注:また、この問題について別の質問を見たという理由だけで、私の質問を閉じることに投票しないでください。このエラーに関する実際の情報はありません。このエラーの原因やデバッグ方法を知る必要があります。一般的ではありません。「viewDidAppearなどにスーパーコールを追加します。それらが役に立った場合、私はこの質問をしなかったでしょう。

+ (void) ensureDispatchOfBlock:(dispatch_block_t) block onQueue:(dispatch_queue_t) queue  async:(BOOL) async{
    if (dispatch_get_current_queue() == queue){
        block();
    }
    else {
        if (async){
            dispatch_async(queue, block);
        }
        else {
            dispatch_sync(queue, block);
        }
    }
}

+ (void) ensureDispatchOnMainThread:(dispatch_block_t) block async:(BOOL) async{
    [self ensureDispatchOfBlock:block onQueue:dispatch_get_main_queue() async:async];
}

+ (BOOL) addBlock:(dispatch_block_t) block toQueue:(dispatch_queue_t) queue async:(BOOL) async {
    if (!async && dispatch_get_current_queue() == queue){
        return NO;
    }
    if (async){
        dispatch_async(queue, block);
    }
    else {
        dispatch_sync(queue, block);
    }
    return YES;
}
4

2 に答える 2

1

このエラーは通常、画面に表示されていないものをアニメーション化しようとした結果として発生します。起動時に発生する場合は、viewDidLoad でアニメーションを開始しようとしていると思います。

于 2012-07-12T18:15:11.780 に答える
0

スーパーの view(Did/Will)Appear への欠落した呼び出しを探します。これらが省略されると、それが何を意味するにせよ、「待機フェンス」が表示されます。

于 2012-07-12T18:55:52.663 に答える