問題タブ [wait-fences]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - wait_fences: 応答の受信に失敗しました: 10004003 (再度)
この警告についての助けを求める別の叫び。
まず第一に、私はここにあるすべての質問を他の場所で調べましたが、私の状況に合うものはないようです. アラート ボックスやファーストレスポンダーとしての辞任、ビューが表示される前のアニメーションの実行とは関係ありません。UIView ベースのカスタム キーボードをインスタンス化するときに問題が発生します。
第二に、私は警告を自由に表示/非表示にできると信じています。理由について非常に混乱しているので、解決策よりも説明を探しています。
ここに投稿するにはコードが多すぎるため、何が起こっているかの概要を説明します。
ViewController "Calc" は、VC の loadView メソッドでカスタム UIView ベースの "DataView" をインスタンス化し、それを VC のサブ ビューとして追加します。
「DataView」は、DataView の init メソッドでカスタム UITextField ベースの「TextFieldKPD」をインスタンス化します。
「TextField」は、TextField の init メソッドでカスタム UIView ベースの「KeyPad」をインスタンス化し、その KeyPad を TextField の inputView に割り当てます。
「KeyPad」は、タイプ UIButtonTypeCustom の 13 個の UIButton を作成し、各ボタンの「押された」および「押されていない」イメージを読み取って割り当て、ボタンのアクションを設定します。次に、各ボタンをそれ自体のサブビューとして追加します。(キーパッドの UIView ライフサイクルでこの構築がいつ発生するかを制御することで、wait_fences 警告を発生させることができます。以下を参照してください。)
「Calc」ViewController は、最初にユーザーに提示されるものです。私は、Calc の viewDidLayoutSubViews メソッドの終了後、その viewDidAppear メソッドが呼び出される前に発生する wait_fences 警告を追跡しました。Calc が表示されている場合、KeyPad は表示されないことに注意してください。
キーパッドの構成方法を変更することで、wait_fences 警告のアクションを制御できるようです。
UIButton がインスタンス化され、KeyPad の init メソッドでサブビューとして追加された場合、一度だけ警告が表示されます。
代わりに、ボタンがインスタンス化され、KeyPad の layoutSubViews メソッドに追加された場合、警告は表示されません。(ただし、TextField をタップするまで KeyPad は効果的に構築されません - それでも、wait_fences 警告は表示されません)
Calc の loadView にはアニメーションも何もありません。それはインスタンス化され、ずっと下に割り当てられます。
このバージョンの wait_fences に関するコメントはありますか?
編集 1、1 月 30 日 - 今、さらに混乱しています!
今朝は退屈だったので、コードをいじって、警告の生成をより適切に分離できるかどうかを確認することにしました。警告をトリガーできる、まったく役に立たない次のコードに絞り込みました。
[self loadImages]
その後のinitメソッドで実行するとKeyPad
、警告が表示されます。ただし、ファイルが存在しないため、このコードは何もしません。ループ カウンターが十分に小さければ警告は消えると思いますが、下限を限定していません。
画像の実際の読み込みを
[UIImage imageWithContentsOfFile:@"StupidFileNameThatDoesNotExist"]
初期化中にメソッドを呼び出してもKeyPad
、警告が表示されないようです。画像をロードするこれら 2 つの方法の明らかな違いの 1 つはimageNamed
、画像を内部的にキャッシュすることです。
だから私はそれが内部のアップルの失敗であるというジョージの答えに傾いています。
編集 2、2 月 1 日 - ジムへの警告ですが、私たちが知っているようなものではありません
そのため、明らかに問題を引き起こしているのは UIImage クラスのキャッシュであると確信しました。それについて何をすべきか?もちろん、私自身の画像キャッシュを書いてください!!
そこで、プラグインを開始し、無効な画像を読み込もうとしたコードを取り除き、必要なファイル名を生成してキャッシュ コントローラーに渡しました。そこで、物事がまとまり始めていることを確認するために、キャッシュ コントローラー内で、画像をキャッシュしようとするたびに NSLog メッセージを生成しました。
そして、何を推測しますか-愚かな警告が再び表示されます。実際の作業をまったく行わないため。
の init メソッドに余分なコードを詰め込むと、ある種の内部 iOS 競合状態がトリガーされるとしか結論付けられませんKeyPad
。そして、それを軽減するために私にできることは何もないということです。私にできることは、この警告が無害であることを願うことだけです。
編集 3、ハムレット第 1 幕第 4 場: デンマーク州で何かが腐っている
編集 2 と同じコードを維持して、NSLog ステートメントをコメントアウトしました。そして、警告は消えました。元に戻すと、警告が表示されます。
だから私が持っているコードは次のとおりです。
と:
その NSLog ステートメントを使用して、警告の表示を制御します。
編集 4、2 月 2 日 - 運命の神殿へようこそ
Allen のコメントを真摯に受け止め、手動でビューを構築しようとする代わりに、キーボードを XIB として再構築し、それをロードしました。もちろん、それは何も修正しませんでした。私は、Nib の読み込みが問題の原因以外で起こることを望んでいました。
私の直感では、Calc の loadView と iOS の内部アクティビティ内で競合状態に直面しているということです。loadView 内で作業をしすぎると、一線を越えて wait_fences 警告が発生します。また、キーボードは症状であり、根本的な原因ではありません。IE、それはどんな活動でもあった可能性があります.警告が表示される前にキーボード操作が最後に行われただけです. 私が実際に交差していて、暗闇の中でつまずかないという制約が何であるかを実際に知っていればよかったのにと思います。
ios - AVCaptureベースのviewControllerでクラッシュする
UIViewController内でOpenGLVideoCaptureを使用するアプリに取り組んでいます
このコントローラーの最初の初期化で、コンソールに次のメッセージが表示されます。
メッセージはviewControllerinitの直後に表示されます
その後、別のコントローラーに切り替えてこのコントローラーを再起動すると、EXC_BAD_ACCESSを使用してViewControllerを2/4起動した後にクラッシュが発生します
asm出力はそれほど役に立ちません
ここにソースコードのいくつかの関連部分があります:
このクラッシュを追跡するための提案はありますか?
ios - wait_fences: 応答を受信できませんでした: 10004003 およびタブのナビゲーションコントローラー
私はとてつもなく時間を過ごしています
iPad アプリのコンソール メッセージ。Stack Overflow で解決策を無駄に検索しましたが、ほとんどの回答はテキストフィールドなどについて話しているようです。
私のアプリには 4 つのタブがあります。各タブ内には、ナビゲーション コントローラーがあります。起動時には、各タブにグリッドを表示するビューがあります。(Rene Sprotte による MMGridView)。グリッドをクリックすると、通常の方法でスタックにプッシュして新しいグリッドが表示されます。
私の問題:特定のタブの最初のビューで、昼夜を問わず回転でき、ビューがうまく回転します。しかし、別のものをスタックにプッシュすると、ローテーション時に恐ろしい wait_fences コンソール エラーが発生します。そして大休止です。すると回転します。同じグリッドに対してこれをさらに数回行うと、クラッシュする可能性があります。
明らかに、明らかな何かが欠けています。何を与える?どうすればこれを修正できますか?
ios - wait_fencesエラーをデバッグするにはどうすればよいですか
wait_fences:応答の受信に失敗しました:10004003
このエラーが引き続き発生します。アプリの起動時に発生します。この問題をどのようにデバッグしますか。wait_fencesを見て、そこで何が起こっているかを確認する方法はありますか?どのスレッドが何をブロックしているかを確認する方法はありますか?
このエラーは、ボイドに出入りするツールや情報がない、ブラックホールに他ならないように感じます。
このエラーをデバッグするためのヒントをお持ちの方は大歓迎です。
新しい
スレッドを変更しました。すべてのスレッド呼び出しは、このメソッドセットを通過して、すべてのディスパッチを実行します。
注:また、この問題について別の質問を見たという理由だけで、私の質問を閉じることに投票しないでください。このエラーに関する実際の情報はありません。このエラーの原因やデバッグ方法を知る必要があります。一般的ではありません。「viewDidAppearなどにスーパーコールを追加します。それらが役に立った場合、私はこの質問をしなかったでしょう。