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;
}