我正在处理一个应该发送当地通知21天的应用程序,但它应该停止发送一周。我知道我可以设置一个fireDate,我可以设置一个repeatInterval,但有没有办法设置像最后一个fireDate?或者是否每次发送本地通知时都会触发一个函数? 我知道有一个函数,如果应用程序从通知开始,但这不是我的解决方案,因为如果用户不打开应用程序,通知将进一步发送。 有人可以帮帮我吗?
到目前为止我的代码
let notification = UILocalNotification()
notification.alertBody = "Take Pill"
notification.alertAction = "open"
notification.fireDate = _notificationTime
notification.repeatInterval = .day
notification.soundName = UILocalNotificationDefaultSoundName
notification.timeZone = Calendar.current.timeZone
notification.userInfo = ["title": "takePill", "UUID": "takePill"]
UIApplication.shared.scheduleLocalNotification(notification)
答案 0 :(得分:0)
本地通知是系统代表您发送给用户的内容。您的应用不是"在循环中#34;。系统始终存在,因此始终可以发送通知 - 但您的应用程序可以暂停甚至终止。因此,如果您要使用本地通知,则必须考虑在系统为您完成所有这些工作时,您的应用将来永远不会运行的可能性。
因此,片刻的想法将表明,您所描述的唯一配置是安排21个通知,每个通知在随后的每一天触发。只有 21个通知,因此在第22天没有任何反应,因为当天没有安排通知。
(但是这个限制也应该让你暂停并让你想知道本地通知是否是实现这一目标的方法。)