我目前正在制作一个闹钟应用程序,目前我可能只是一个误解。我想在特定时间发布本地通知,并以一定的时间间隔重复。我已经得到了一些想法,这个(https://makeapppie.com/2017/01/31/how-to-repeat-local-notifications/)程序接近我想要的程序,但我希望它在某个时间关闭,然后在一个时间间隔重复。
用户输入信息后,程序将吐出:
timeIntervalSeconds,用户想要通知的时间间隔(以秒为单位)
timeStart,通知开始时
timeEnd,如果用户没有停止通知,则通知将结束
任何建议都将不胜感激。
谢谢!
答案 0 :(得分:0)
由于Apple仅提供有限的自动重复通知间隔列表,您可以尝试下一步使用自定义间隔: 当通知被解雇时,您应该计算日期&下次通知的时间,只需按预定时间安排。
答案 1 :(得分:0)
要在代码下方启动特定时间的通知。
let gregorian = Calendar(identifier: .gregorian)
let now = Date()
var components = gregorian.dateComponents([.year, .month, .day, .hour, .minute, .second], from: now)
// Change the time to 10:00:00 in your locale
components.hour = 10
components.minute = 0
components.second = 0
let date = gregorian.date(from: components)!
let triggerDaily = Calendar.current.dateComponents([.hour,.minute,.second,], from: date)
let trigger = UNCalendarNotificationTrigger(dateMatching: triggerDaily, repeats: true)
let request = UNNotificationRequest(identifier: CommonViewController.Identifier, content: content, trigger: trigger)
要在特定时间间隔内重复通知,请在触发器中使用以下代码。
let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 120, repeats: true) // it repeats after every 2 minutes