如何设置 UserNotifications Framework 的通知

Posted

技术标签:

【中文标题】如何设置 UserNotifications Framework 的通知【英文标题】:How I can set a notification which UserNotifications Framework 【发布时间】:2016-07-07 18:05:56 【问题描述】:

我可以设置一个时间间隔的通知,但我不知道如何在特定的时间和日期进行,我试试这个但不起作用

let center = UNUserNotificationCenter.current()

func notificationSender()

    center.requestAuthorization([.sound, .alert]) 
        (granted, error) in
        // We can register for remote notifications here too!
    

    var date = DateComponents()
    date.hour = 13
    date.minute = 57

    let trigger = UNCalendarNotificationTrigger.init(dateMatching: date , repeats: false)

    let content = UNNotificationContent()
    // edit your content

    let notification = UNNotificationRequest(identifier: "myNotification", content: content, trigger: trigger)

center.add(通知)

需要在每周一和周五下午 3 点重复通知

【问题讨论】:

【参考方案1】:

你快到了。你要做的事情不多了。

您缺少的内容如下:

您应该将 weekday 添加到您的日期组件中,1 用于周日,因此您需要将其设置为 2 用于周一通知,6 用于周五通知 如果需要重复,则需要在UNCalendarNotificationTrigger 中将参数repeats 设置为true

这是一个例子。

// Create date components that will match each Monday at 15:00
var dateComponents = DateComponents()
dateComponents.hour = 15
dateComponents.minute = 0
dateComponents.weekday = 2 // Monday

// Create a calendar trigger for our date compontents that will repeat
let trigger = UNCalendarNotificationTrigger(dateMatching: dateComponents,
                                            repeats: true)

// Create the content for our notification
let content = UNMutableNotificationContent()
content.title = "Foobar"
content.body = "You will see this notification each monday at 15:00"

// Create the actual notification
let request = UNNotificationRequest(identifier: "foo",
                                    content: content,
                                    trigger: trigger)

// Add our notification to the notification center
UNUserNotificationCenter.current().add(request)

【讨论】:

以上是关于如何设置 UserNotifications Framework 的通知的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 10 中处理 UserNotifications 操作

如何在特定日期前 2 天触发 UserNotifications

无法快速将特定日期和时间添加到 UserNotifications

Swift 2.3 中没有这样的模块“UserNotifications”

swift iOS 10上的UserNotifications

iOS 10 本地通知不起作用(迁移到 UserNotifications 框架)