例えばローカル通知を実行するにはどうすればよいですか? UNUserNotificationCenterには、繰り返し機能はありません。 おそらくNSTimerなどを使用していますか?私は「A」と「B」との間でx分ごとにいくつかのアクションを繰り返すp.m
let hours: [Int] = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]
for hour in hours {
for minute in stride(from: 0, to: 60, by: 5){
let content = UNMutableNotificationContent()
content.title = "Title"
content.body = "Body"
var dateComponents = DateComponents()
dateComponents.hour = hour
dateComponents.minute = minute
let trigger = UNCalendarNotificationTrigger(dateMatching: dateComponents, repeats: true)
let request = UNNotificationRequest(identifier: "timerDone", content: content, trigger: trigger)
let center = UNUserNotificationCenter.current()
center.add(request) { (error : Error?) in
if let theError = error {
print(theError.localizedDescription)
}
}
}
}
をあなたは 'UNTimeIntervalNotificationTrigger'を使用して' UNNotificationCenter'で繰り返し通知をスケジュールすることができますが、あなたはそれがで繰り返し停止することを指定することはできません特定の時刻と別の時刻に再開します。 – Paulw11
[Calendar](https://developer.apple.com/documentation/foundation/calendar)もオプションです。 – shallowThought
なぜこのコードは5分ごとに通知を作成しませんか? 私は更新された答えを考慮に入れましたが、forループでUNCalendarNotificationTriggerを使用したい場合、通知を作成しません。 @ Paulw11 – Obarg