我正在尝试允许用户安排通知,以便在每天的特定时间打开应用。到目前为止,我已经能够通过计算从现在到用户选择的时间以及在X秒内安排通知的时间来安排第一个通知。但是,有没有办法让我可以设置每天重复的通知?如果您感到困惑,这是我的代码的一部分:
var fromDate = from.ToString("D", new CultureInfo(this.BGUser.UICultureInfoString));
var toDate = to.ToString("D", new CultureInfo(this.BGUser.UICultureInfoString));
非常感谢任何帮助
答案 0 :(得分:5)
在您的情况下,请更改此行:
let notifTrigger = UNTimeIntervalNotificationTrigger(timeInterval: newTime, repeats: false)
到
let notifTrigger = UNTimeIntervalNotificationTrigger(timeInterval: newTime, repeats: true)
来自文档:
<强> UNCalendarNotificationTrigger 强>:
在指定的日期和时间触发通知。你用的是 UNCalendarNotificationTrigger对象指定时间 通知触发条件的信息。日历 触发器可以触发一次,也可以多次触发。
NSDateComponents* date = [[NSDateComponents alloc] init];
date.hour = 8;
date.minute = 30;
UNCalendarNotificationTrigger* trigger = [UNCalendarNotificationTrigger
triggerWithDateMatchingComponents:date repeats:YES];
<强>夫特:强>
var date = DateComponents()
date.hour = 8
date.minute = 30
let trigger = UNCalendarNotificationTrigger(dateMatching: date, repeats: true)
答案 1 :(得分:0)
FOR SWIFT3
let calendar = Calendar(identifier: .gregorian)
let components = calendar.dateComponents(in: .current, from: date)
let newComponents = DateComponents(calendar: calendar, timeZone: .current, month: components.month, day: components.day, hour: components.hour, minute: components.minute)
let trigger = UNCalendarNotificationTrigger(dateMatching: newComponents, repeats: true)