我已经在这些论坛和其他网站,我不断得到一个不合理的答案。本质上,我想创建一个通知,火灾,例如,每个工作日的6:28上午,12:28下午,和5:28下午。
我有一个解决方案的片段,但我真的不知道该去哪里。我的设置是否正确?任何帮助都是感激不尽的。
let notification: UILocalNotification = UILocalNotification()
notification.category = "News and Sports"
notification.alertAction = "get caught up with the world"
notification.alertBody = "LIVE news and sports on VIC in just a minute!"
UIApplication.sharedApplication().scheduleLocalNotification(notification)
1条答案
按热度按时间o4tp2gmn1#
准备显示本地通知需要两个主要步骤:
步骤1
在iOS 8+上,您的应用必须请求并随后获得用户授予的权限才能显示本地通知。请求权限可在您的AppDelegate中按如下方式完成。
**当您的应用在iOS 8之前的操作系统上运行时,请勿调用
registerUserNotificationSettings(_:)
。否则,您的应用将在运行时崩溃。**幸运的是,这应该不是问题,因为您使用的是Swift 2。步骤2
将您的通知安排在未来的某个时间。
不幸的是,根据@progrmr的this Stack Overflow answer,
无法使用UILocalNotification设置自定义重复间隔.以前曾询问过此问题(请参阅下文),但只提供了有限得选项. repeatInterval参数是枚举类型,它仅限于特定值.
您不能将这些枚举相乘并获取这些间隔的倍数。您的应用中设置的本地通知不能超过64个。一旦通知触发,您就不能重新计划通知,除非用户选择在通知触发时运行您的应用(他们可能不会运行通知)。
有一个重复间隔乘数posted here的请求。你可以添加评论。我建议提交一个错误报告或功能请求(url?)与苹果。
许多其他的Stack Overflow答案都证实了上面引用的说法。请访问完整引用答案的链接,其中包含支持答案的列表。
对于您的情况,一个可能的解决方法是安排3个本地通知。将每个通知分别设置为在6:28 AM、12:28 PM和5:28 PM触发。然后,将所有3个本地通知的
repeatInterval
设置为.CalendarUnitWeekday
。