【发布时间】:2018-04-10 15:13:43
【问题描述】:
我正在开发一款可以在中午向您发送通知的应用。这个通知应该每天都不一样。
我让通知自己工作:
let notificationOptions: UNAuthorizationOptions = [.alert, .sound];
UNUserNotificationCenter.current().requestAuthorization(options: notificationOptions) { (granted, error) in
if !granted {
print("Something went wrong")
} else {
let content = UNMutableNotificationContent()
content.body = getRandomDailyString()
content.sound = UNNotificationSound.default()
let date = DateComponents(hour: 12, minute: 15)
let trigger = UNCalendarNotificationTrigger(dateMatching: date, repeats: true)
let request = UNNotificationRequest(identifier: "Daily String", content: content, trigger: trigger)
UNUserNotificationCenter.current().add(request) { (error) in
if let error = error {
print(error.localizedDescription)
}
}
}
}
现在发生的事情是调用了 getRandomDailyString() 函数,它返回一个字符串,并设置了一个重复通知,该通知确实出现在指定的时间,但始终具有相同的内容。
我将如何制作每天提供独特内容的通知?
【问题讨论】:
-
好的,明白了……思路相同,但完全不同。在这种情况下,您的请求始终相同。你添加一次,它会重复。您永远不会更改内容或触发器或什么都没有。您应该使您的请求无效并在每次触发时添加新的请求
-
我认为问题出在
repeats: true,因此您创建的此通知将重复显示。您应该一次安排 1 个通知。
标签: ios swift uilocalnotification