0

5分の遅延でperformSelector:withObject:afterDelay:を使用してセレクターをスケジュールしています。これがスケジュールされている間にデバイスが5分を超えてスリープ状態になると、次の2つのいずれかが発生します。

1)デバイスがラップトップに接続されていて、アプリがデバッガーで実行されている場合、アプリがウェイクアップすると、セレクターがすぐに起動します。遅れて「時計が動き続ける」ようです。

2)デバイスが接続されていない場合、セレクターが起動するまでに遅延があります。遅延セレクターの「クロックが一時停止」しているようです。

デバイスがデバッガーに接続されているかどうかによって、2つの異なる動作が発生するのは奇妙に思えます。何か案は?

4

2 に答える 2

0

デバッガーがアプリをバックグラウンドで強制的に実行しているように見えることに気付きました。

通常、実際のデバイスでデバッグ中にホーム ボタンを押しても、10 分経過しても特別なことは何も起こりません。

一方、デバイスでアプリを強制終了すると、デバッグ セッションを終了する SIGKILL シグナルを受け取ることになります。

于 2013-01-04T16:38:34.830 に答える
0

バックグラウンドの場合、アプリは一時停止します。通常、タイマーなどを に保存し、applicationDidEnterBackgroundで再起動する必要がありapplicationDidBecomeActiveます。

于 2013-01-04T16:44:00.353 に答える