Xcode 在Swift 2中安排特定时间的本地通知
我浏览了所有这些论坛和其他网站,我不断得到一个不符合逻辑的答案。基本上,我希望创建一个通知,例如,在每个工作日的上午6:28、下午12:28和下午5:28进行火灾 我有一些解决方案,但我真的不确定该去哪里。我的设置正确吗?感谢您的帮助Xcode 在Swift 2中安排特定时间的本地通知,xcode,notifications,uilocalnotification,swift2,Xcode,Notifications,Uilocalnotification,Swift2,我浏览了所有这些论坛和其他网站,我不断得到一个不符合逻辑的答案。基本上,我希望创建一个通知,例如,在每个工作日的上午6:28、下午12:28和下午5:28进行火灾 我有一些解决方案,但我真的不确定该去哪里。我的设置正确吗?感谢您的帮助 let notification: UILocalNotification = UILocalNotification() notification.category = "News and Sports" notification.alertAction = "
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)
准备显示本地通知需要两个主要步骤: 第一步 在iOS 8+上,您的应用程序必须请求并随后获得用户显示本地通知的权限。可以在AppDelegate中按如下方式请求权限
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
...
if #available(iOS 8, *) {
application.registerUserNotificationSettings(UIUserNotificationSettings(forTypes: [.Sound, .Alert, .Badge], categories: nil))
}
return true
}
当您的应用程序在iOS 8之前的操作系统上运行时,请勿调用注册表通知设置(:)
。否则,您的应用程序将在运行时崩溃。幸运的是,这应该不是问题,因为您正在使用Swift 2
步骤2
将您的通知安排在未来的fireDate
let notification:UILocalNotification = UILocalNotification()
...
... // set the notification's category, alertAction, alertBody, etc.
...
notification.fireDate = ... // set to a future date
UIApplication.sharedApplication().scheduleLocalNotification(notification)
不幸的是,根据@progrmr的说法
不能使用设置自定义重复间隔。以前曾提出过此问题(见下文),但
仅提供有限的选项。这个
是枚举类型,且仅限于
您不能将这些枚举相乘并得到它们的倍数
间隔。在中设置的本地通知不能超过64个
你的应用程序。通知发出后,您无法重新安排通知,除非
用户选择在发出通知时运行您的应用程序(他们可能会
不运行它)
有重复间隔乘数的请求。
你可以给它添加评论。我建议提交错误报告或功能
苹果公司的请求(url?)
许多其他堆栈溢出的答案证实了上面引用的声明。访问完整引用答案的链接,其中包含支持答案的列表
您的案例的一个潜在解决方法是安排3次本地通知。分别在上午6:28、下午12:28和下午5:28将每一个都设置为点火。然后,将所有3个本地通知的repeatInterval
设置为.CalendarUnitWeekday