在我的应用程序中,我要求用户设置重复提醒。在这个提醒中,我希望身体每天都能说些不同的话。例如,我的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/

10-12 15:57