毎秒トリガーされるNSTimerを使用するアプリを作成しました。
私の問題は、iPhoneがスリープモードの場合、イベントがトリガーされる前に10〜15分の遅延が発生することです。私はこれをスタックオーバーフローしてグーグルで検索しましたが、これはスリープモードのときに電話が特定のイベントのリッスンを停止するためと思われます。
一部の人々は、電話をスリープさせずにミュート音を再生することでこの問題を解決しました。
- 遅延の理由は何でしょうか?
- ミュートサウンドソリューションは非常に「汚い」もののようです。これを解決する他の方法はありますか?
- ミュートサウンドソリューションを使用した場合、アップルレビューに合格しますか?
コード:
timer = [NSTimer timerWithTimeInterval:1.0f target:self selector:@selector(goAction)userInfo:nil repeats:YES];
[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
-(void)goAction {
// Here i check for some dates and then call the activateBeepAlarmView
}