0

ホームボタンからフォーカスを失った後、アプリを再度開くと、奇妙な動作が発生します。シミュレーターでは、アプリケーションが再開される前に、アプリの画面が5秒以上真っ暗になります。テストデバイスでは、アプリケーションは長い遅延を実行するか、完全に終了して開始状態にリセットします。NSLogデバッグコメントを「applicationWillEnterForeground」と「applicationDidBecomeActive」に配置しましたが、これらは長い遅延の後にのみ表示されるため、これらの関数にはこの遅延の原因はないと想定します。

プログラムで次のコンポーネントを使用しています。*タブバーコントローラー*2つのタイマー、マップキット*IPソケットストリーム*24のViewControllerがストーリーボードにつなぎ合わされています。*かなりの数の背景画像と画像ボタン

プログラムのどの部分がこのエラーを引き起こしているのかがわかっていれば、喜んでコードを投稿しますが、それでも私にはわかりません。他の誰かがこのタイプのエラーを経験しましたか?私がリストしたコンポーネントのいずれかに、同様のエラーを引き起こした履歴がありますか?

このバグが発見されたとき、私はかなり開発段階にあり、段階的な開発プロセス中にホームボタンを介してフォーカスが失われるかどうかをテストしませんでした。他の小規模なプロジェクト(ソケットとタイマーを使用)では、同じテストハードウェアで同じバグが発生することはありませんでした。

「applicationWillResignActive」を使用してタイマーを無効にし、ストリームを閉じています。「applicationDidBecomeActive」を使用してタイマーを再起動し、ストリームを再度開きます。「applicationWillEnterForeground」と「applicationDidBecomeActive」が実行される前に遅延が発生しています。さらに、ストリームとタイマーを開始するコードを無効にしてみましたが、これはバグに影響を与えませんでした。

私はxCode4.4.1、ios6を使用しており、iPad専用にビルドしています。

4

1 に答える 1

0

デバッガーが、ブレークポイントに到達したことを示したときと、applicationWillEnterForegroundのコード実行に関して、頭の中でトリックを実行している可能性があります。最新のコードをソース管理にコミットし、動作がなくなるまでセクションを1つずつ削除することをお勧めします。

于 2013-02-12T03:24:24.613 に答える