これを実現するには、ユーザーがアラームを設定したときに通知を設定する必要があります。 UNTimeIntervalNotificationtrigger
を使用する代わりに、UNCalendarNotificationTrigger
を使用してください。カレンダー通知をスケジュールすることで、特定の時間にスケジュールを設定し、それに応じて繰り返すことができます。これに関する最も良いことは、日付コンポーネントを指定するときに、通知を繰り返す曜日を指定することができます。たとえば、月曜日に通知を繰り返す場合は、weekdayプロパティを2と設定します。今
let calendar = Calendar.current
var components = calendar.dateComponents([.hour, .minute], from: date)
components.weekday = 2
//creating trigger
let trigger = UNCalendarNotificationTrigger(dateMatching: components, repeats: true)
//setting content
let content = UNMutableNotificationContent()
content.title = "Title"
content.body = "Body"
//requesting notification
let request = UNNotificationRequest(identifier: identifier, content: content, trigger: trigger)
//scheduling notification
UNUserNotificationCenter.current().add(request)
あなたが通知を繰り返ししたい1つの以上の平日を持っている場合は、単にループでこのコードを実行すると、別の平日を渡します。
私はこのアプローチを使用してアラームアプリを作ったが、それは完全に正常に動作します。
これが役に立ちます。 :)
まずは通知をご覧ください。あなたは実際にあなたが選んだ日にそれらのスケジュールを立てます。 – shallowThought
はい、6時に毎日鳴って夜中に通知を設定したい場合はどうすればいいですか? – Lee
毎日6時に通知を設定するよりも、 – shallowThought