uilocalnotification
アプリに実装したい。しかし問題は、それが正確な時間に発砲していないことです。所定の発砲時間から30〜40秒後に発砲します。私が見逃しているものがありますか、これはで一般的な考えですUILocalNotification
。
ありがとう
uilocalnotification
アプリに実装したい。しかし問題は、それが正確な時間に発砲していないことです。所定の発砲時間から30〜40秒後に発砲します。私が見逃しているものがありますか、これはで一般的な考えですUILocalNotification
。
ありがとう
UILocalNotification は、遠い将来に起こることのために設計されているため、30 秒のエラーは問題ありません (つまり、15:00 に会議があった場合、15:00:30 に通知しても問題ありません :)
それ以上の精度が必要な場合は、アプリを実行し続け、NSTimer を使用する必要があります。
これは古い質問であることは知っていますが、これを理解したところです
dateByAddingTimeInterval :
。メソッドを使用できます。
notif.fireDate = [[datePicker date] dateByAddingTimeInterval:-30];
fireDate
を使用して設定NSDateComponents
できます。ここで、firedate の秒数を設定できます。0にすると動きませんが、1秒にすると動きます。30~40秒に比べて1秒遅くてもOKです。
NSCalendar *cal = [NSCalendar currentCalendar];
NSDateComponents *dateComps = [cal components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay |NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond fromDate:fireDate];
[dateComps setSecond:1];
[dateComps setNanosecond:00];
NSDate *newDate = [cal dateFromComponents:dateComps];
fireDate = newDate;