即使将 repeatInterval 设置为工作日后,UILocalNotification 也会每天触发
Posted
技术标签:
【中文标题】即使将 repeatInterval 设置为工作日后,UILocalNotification 也会每天触发【英文标题】:UILocalNotification triggers daily even after setting repeatInterval as weekday 【发布时间】:2016-02-29 20:09:39 【问题描述】:我正在尝试为一周中特定日期的提醒创建本地通知。
这就是我到目前为止所做的目标
let calender = NSCalendar.currentCalendar()
let notification = UILocalNotification()
notification.soundName = UILocalNotificationDefaultSoundName
notification.userInfo = NSDictionary(objects: [employee.deptID!], forKeys: [“deptID”]) as [NSObject : AnyObject]
if #available(ios 8.2, *)
notification.alertTitle = employee.Name
else
notification.alertBody = "Its time to remind you about today’s target"
let dc = calender.components([NSCalendarUnit.Weekday , NSCalendarUnit.Hour , NSCalendarUnit.Minute, NSCalendarUnit.Second], fromDate: timePicker.date)
dc.weekday = 4
notification.repeatInterval = NSCalendarUnit.Weekday // TODO :
notification.fireDate = calender.dateFromComponents(dc)
UIApplication.sharedApplication().scheduleLocalNotification(notification)
但是,上面的代码每天都会在那个特定时间触发。我希望在特定工作日的特定时间触发通知。
上面的代码有什么错误?
【问题讨论】:
您可能忘记删除之前的日程安排通知 不。我什至卸载了该应用程序。清除所有通知。 所以您是说您删除了所有日程安排通知并且您每天都收到它? 顺便说一句,您需要将通知 timeZone 属性设置为当前时区 OP,你有没有想过这个问题?我也有同样的问题。 【参考方案1】:尝试改变
notification.repeatInterval = NSCalendarUnit.Weekday
到
notification.repeatInterval = NSCalendarUnit.WeekOfYear
【讨论】:
嗨,这甚至没有触发。我希望通知在每个星期三的特定时间触发。以上是关于即使将 repeatInterval 设置为工作日后,UILocalNotification 也会每天触发的主要内容,如果未能解决你的问题,请参考以下文章
iPhone - UILocalNotification 作为警报