Итак, я в настоящее время создаю приложение расписания, и я пытаюсь создать локальное уведомление для запуска в определенное время в определенный день недели, каждую неделю , Поэтому первое, что я делаю, это получить значение даты начала времени события, затем я вычитаю 5 минут от значения времени начала и затем планирую уведомление. Раньше это было очень легко просто нужно было набрать: notification.repeatInterval = CalendarUnit.WeekOfYear
но теперь команда осуждается в Swift 3 и да, так что единственный способ я нашел:Планирование еженедельного повторяющегося локального уведомления с датой срабатывания даты с даты выбора в Swift 3
let someMinutesEarlier = Calendar.current.date(byAdding: .minute, value: -5, to: startTimePicker.date)
let contentOfNotification = UNMutableNotificationContent()
let interval = someMinutesEarlier?.timeIntervalSinceNow
contentOfNotification.title = "Event starting"
contentOfNotification.body = "Some notes"
contentOfNotification.sound = UNNotificationSound.default()
let trigger = UNTimeIntervalNotificationTrigger.init(timeInterval: interval!, repeats: true)
let request = UNNotificationRequest.init(identifier: notificationIdentifier, content: contentOfNotification, trigger: trigger)
let center = UNUserNotificationCenter.current()
center.add(request) { (error) in
print(error as Any)
}
, но это только графики уведомления только один раз (независимо от того, что для параметра repeat boolean установлено значение true), из-за года в someMinutesEarlier ... или это может быть что-то еще? Есть идеи?
Почему бы вам не использовать UNCalendarNotificationTrigger? – McNight
Вы ориентируетесь на версии раньше, чем ios10 или ios10? Если вы хотите, чтобы ваше приложение запускалось в версиях раньше 10, я бы, вероятно, придерживался устаревшего подхода на данный момент. В противном случае вам нужно будет написать обе версии и использовать 'available' – Paulw11