2017-05-11 13 views
0

私はローカル通知を使用するアプリケーションで作業していますが、これはユーザーが選択した間隔で繰り返しています(5〜60分)。iOS:ローカル通知を特定の時間枠に制限しますか?

また、ユーザーが特定の時間枠を選択できるようにして、この時間枠内でのみ通知を送信するようにしたいとします。私はNSDateと現在の時刻がユーザーが選択した時間枠内にある場合のみ通知が発生するいくつかの種類の条件文を使用することについて考えていました。

あなたはそれがうまくいくと思いますか、何かを監督していますか?

答えて

0

これにはUNCalendarNotificationTriggerを使用できます。

指定された日時に通知を開始します。

official documentation.

カレンダーのトリガーも繰り返すことができ、それがあなたの目的を果たす必要があります参照してください。

+0

私はこれが私の目的を果たさないと思いますしかし、私は、ユーザがa)どのくらいの頻度で通知を受けたいか(例えば「20分ごと」)、b)どのタイムフレームでそれを取得したいかを選択できるようにしたいと考えています(「9.00-12.00 AM」など)この例では、ユーザーは午前9時から午前12時まで20分ごとに通知されます。 – Adrian

+0

私が言ったように、UNCalendarNotificationTriggerは繰り返すことができます。したがって、あなたの例では、9と12AMの間で20分ごとにトリガーを設定し、それぞれを毎日繰り返すことができます。 12AMに達したらキャンセルします。 –

+0

ありがとう。私はまだ両方の機能を組み合わせる方法についてはまだわかりません。 UNCalendarNotificationTriggerを 'let trigger = UNCalendarNotificationTrigger.init(dateMatching:date、repeatedats:true) 'のように設定すると、その特定の時刻に起動され、繰り返されません。その後20分ごとに?しかし、単純に 'TimeInterval'を追加してもそれはできません。 – Adrian

関連する問題