在我的应用程序中,我要求用户设置重复提醒。在这个提醒中,我希望身体每天都能说些不同的话。例如,我的Firebase数据库中有超过500个报价,我希望我的提醒每天显示一个新报价。如何在没有用户交互的情况下每天以编程方式更改提醒的正文?
@IBAction func saveButtonPressed(_ sender: Any) {
let content = UNMutableNotificationContent()
let identifier = "myApp"
content.title = "myApp"
content.body = "I want to change this programatically each day"
let trigger = UNCalendarNotificationTrigger(dateMatching: Calendar.current.dateComponents([.year, .month, .day, .hour, .minute], from: reminderTime.date), repeats: true)
let request = UNNotificationRequest(identifier: identifier, content: content, trigger: trigger)
UNUserNotificationCenter.current().add(request){
(error) in
if error != nil
{
print("here error in setting up notification")
print(error!)
}
else
{
print("notification scheduled")
}
}
}
最佳答案
不幸的是,您无法处理LocalNotification
显示时刻。您只需告诉系统何时显示您的通知,系统就显示它,而不调用您的应用程序。
但您可以同时添加多个通知请求(up to 64)。例如,下个月的所有通知,并在应用程序启动时更新您的通知。只需确保您的通知请求具有不同的标识符。
例如,您创建30个通知,用户将在5天内收到这些通知。然后他打开你的应用程序,你再添加5个通知。
如果需要删除某些挂起的通知,可以使用以下方法进行删除。
let center = UNUserNotificationCenter.current()
center.removePendingNotificationRequests(withIdentifiers: identifiers)
关于swift - 每天更改重复提醒的内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52337743/