我使用的是iOS 10.3.2 Beta4和Xcode8.3.2。我尝试每天同时发出通知,但通知似乎从未发出过。如果我不使用日历触发器,而使用时间间隔触发器,它们将按预期工作。
以下是我的代码
let content = UNMutableNotificationContent()
content.title = "Daily Notification"
content.subtitle = ""
content.body = NSLocalizedString("Hello I am a notification", comment: "Comment")
content.badge = 1
content.sound = UNNotificationSound.default()
let calendar = Calendar.current
var dateComponents = calendar.dateComponents([.day, .month, .year, .hour], from: Date())
dateComponents.hour = 14
dateComponents.minute = 55
let trigger = UNCalendarNotificationTrigger(dateMatching: dateComponents, repeats: false)
NSLog("Setting daily notification - \(dateComponents)")
let request = UNNotificationRequest(identifier: "dailyWarning", content: content, trigger: trigger)
center.add(request, withCompletionHandler: { error in
if error != nil {
NSLog("Error occurred")
} else {
NSLog("Request added successfully: %@", request)
}
})发布于 2017-05-01 21:42:01
尝试像这样创建触发器:
var dateComponents = DateComponents()
dateComponents.hour = 14
dateComponents.minute = 55
let trigger = UNCalendarNotificationTrigger(dateMatching: dateComponents, repeats: true) // Setting repeats to true will trigger the notification daily有关为什么只提供hour和minutes就足够了的更多信息,请参阅文档found here中的清单1中的解释。
https://stackoverflow.com/questions/43687090
复制相似问题