我想创建一个iOS应用程序,它将在特定时间发送LocalNotifications(Alarm-App)。
我的问题是我想在00:01 o'当前日期设置通知。我不知道如何实现这一点,因为不允许在特定时间进行背景工作(Stackoverflow-Post)。
修改
它应该可以响起:
在Android中,我通过将当天的闹钟设置为00:01 o' clock
解决了这个问题这在iOS中也可以吗?
答案 0 :(得分:0)
要实现此目的,您必须在用户设置闹钟时设置通知。您应该使用UNTimeIntervalNotificationtrigger
,而不是UNCalendarNotificationTrigger
。计划日历通知,允许您在特定时间安排它们,然后相应地重复它们。最好的办法是,在指定日期组件时,您可以指定要重复通知的工作日,例如,如果要在星期一重复通知,请将工作日属性设置为2,依此类推。
let calendar = Calendar.current
var components = calendar.dateComponents([.hour, .minute], from: date)
components.weekday = 2
//creating trigger
let trigger = UNCalendarNotificationTrigger(dateMatching: components, repeats: true)
//setting content
let content = UNMutableNotificationContent()
content.title = "Title"
content.body = "Body"
//requesting notification
let request = UNNotificationRequest(identifier: identifier, content: content, trigger: trigger)
//scheduling notification
UNUserNotificationCenter.current().add(request)
现在,如果您有超过1个工作日要重复通知,只需在循环中运行此代码并传递不同的工作日。
我确实使用这种方法制作了一个报警应用程序,它运行得非常好。
希望这会有所帮助。 :)