0

UIApplicationDidBecomeActiveNotification/ペアを使用UIApplicationWillResignActiveNotificationして、アプリの実行時間を計算します。のコールバックでUIApplicationDidBecomeActiveNotificationは startTime を記録し、 のコールバックではUIApplicationWillResignActiveNotificationendTime を記録します。ほとんどの場合、実行時間は正確です。しかし、サーバーのログにはいくつかの特殊なケースがあり、実行時間がおかしいことがわかりました。たとえば、終了時刻が開始時刻よりも短い、または終了時刻が開始時刻よりも大幅に長いなどです。UIApplicationDidBecomeActiveNotificationそのため、が呼び出されないことがあると思われます。誰かがそのようなケースに遭遇したら、私にいくつかの提案をしてください。

4

2 に答える 2

1

UIApplicationDidBecomeActiveNotificationビュー コントローラでリッスンしている場合はviewDidLoad、 afterUIApplicationDidBecomeActiveNotificationがポストされるまで呼び出されません。そのため、 で通知を登録するとviewDidLoad、ビューが読み込まれる前に発生した最初の通知を見逃すことになります。したがって、アプリケーションが起動するたびに、そのような通知を 1 つ見逃すことになります。ただし、バックグラウンドからの復帰などを含め、後続のすべての通知はキャッチされます。

于 2016-02-23T14:27:38.107 に答える
-1

UIApplicationDidBecomeActiveNotificationアプリケーションがバックグラウンドから forgnound に移行するたびに呼び出されます。アプリケーションが非アクティブ状態からアクティブになるたびに呼び出されます。それが時間の変更の理由だと思います。

于 2012-07-31T06:24:50.393 に答える