(ユーザーがフォアグラウンドでアプリを持っている場合はプッシュ通知/ローカルの通知/または簡単なチェックで)さて私はあなたがそれを処理することを計画しているかどうかはわかりません
しかし、私は地元を作成します通知:
let notification = UILocalNotification()
notification.fireDate = Date().addingTimeInterval(86400)
UIApplication.sharedApplication().scheduleLocalNotification(notification)
通知を処理し、24時間後にもう一度通知をリセットします。あなたは、ユーザーが考える、あるいはアプリを開くために必要とせずに、データごとに24時間をクリアすることができるだろうと
サイレントプッシュ通知は、いいだろう。しかし、これらの通知をデバイスに送信するためのバックエンドロジックが必要になります。リセット時間を午前3時または午後3時に制限しているので、実装するのは恐ろしいことではないと思います。
30秒の実行時間に制限されています。また、アプリケーションが中断された場合にのみサイレント通知が完了し、ユーザーによってアプリケーションが終了された場合には、デリゲートメソッドが呼び出されません。
--Edit--
プッシュ通知が....私はあなたがこれは(そのことについて申し訳ありません)、アプリ起動時に起こるしたかったと言っ一部を見逃している必要があり、このために少しくらいだろう
この日付しかし、あなたはそれがあなたのチェックは、データを削除し合格した場合、その後アプリの負荷に、現在の日付に保存された日付を比較し、希望
func dateByAddingDays(_ daysToAdd: Int) -> Date {
let calendar = Calendar.current
var days = DateComponents()
days.day = daysToAdd
return (calendar as NSCalendar).date(byAdding: days, to: self, options: [])
}
割引:
あなたはDate
クラスへの拡張を書くことができます。ここで日数を使用する必要はありません。var hours = DateComponents()
- >hours.hour = hoursToAdd
86400秒は24時間ですが、午前3時から午前3時の間は翌日は必ずしも24時間ではありません。それはあなたの状況に関係ないかもしれません。 –
連続した日に午前3時から午前86400秒はどうしてですか?同じ時間に毎日24時間はありませんか? –
No.その期間に夏時間(米国の夏時間)が開始または終了したらどうなりますか?それは23時間または25時間になる可能性があります。また、時々起こるうるう秒があればどうしますか? –