私は、イベントの時間を計るイベント タイマーを備えたアプリに取り組んでいます (当たり前!)。
かなり長い期間にわたってタイマーを使用して他のアプリを実行しましたが、これまでこの問題に遭遇したことはありません.
基本的に、何が起こっているかというと、アプリの起動時に でNSDate
値を設定します[NSDate date]
。次に、NSTimer
定期的に起動し、現在の値と元の値を比較して経過時間をチェックするスケジュールされたオブジェクトがあります[NSDate date]
。
私の知る限り、これはこの種のことを行う正しい方法ですが、上記の段落に誤った仮定がある場合は修正してください。
とにかく、ここ数週間、新しい iPad でテストを行っているとき、さまざまな (そしてランダムに) システム時間がかなり前後しているように見える場所を数回見つけました。ある例では、時間が 64 秒も跳ね上がったようです。これは、タイマー ラベルに「00:03」と表示され、すぐに「01:08」と表示されたことを意味します (1 秒を正しく追加してから、64 を誤って追加します)!!! また、負のイベント期間が発生することもあります。
これは断続的に発生するため、基本的に次のようなことが可能かどうかを尋ねています。
- iOS 5.1 のバグ
- 新しい iPad 固有のハードウェアに関係するもの (iPad 第 1 世代、第 2 世代、いくつかの iPhone/iPod Touch バージョンなどではこの問題は発生していません...)
- 悪いコード (これが可能であることは認めますが、NSDate 値が NSDate 値以外になることはありません。この
singleton
値が設定されているプロジェクト内のすべての場所を確認しました。
誰も似たような経験をしたことがありますか?誰でも助けることができますか?