Ios UILocalNotification什么都不做
这似乎是一个愚蠢的问题,但这是我第一次使用UILocalNotification,我无法让它用于快速测试。这根本没用 1。我在AppDelegate中创建了两个变量Ios UILocalNotification什么都不做,ios,swift,notifications,uilocalnotification,Ios,Swift,Notifications,Uilocalnotification,这似乎是一个愚蠢的问题,但这是我第一次使用UILocalNotification,我无法让它用于快速测试。这根本没用 1。我在AppDelegate中创建了两个变量 let today = NSDate() let notification: UILocalNotification = UILocalNotification() 2。然后在ApplicationIdentinterBackground函数中,我有以下内容 notification.fireDate = today.da
let today = NSDate()
let notification: UILocalNotification = UILocalNotification()
2。然后在ApplicationIdentinterBackground函数中,我有以下内容
notification.fireDate = today.dateByAddingTimeInterval(10)
notification.alertTitle = "My App Test"
notification.alertBody = "Testing Notification \n :)"
UIApplication.sharedApplication().presentLocalNotificationNow(notification)
UIApplication.sharedApplication().scheduleLocalNotification(notification)
3。还将其添加到ApplicationIDBecomeActive函数中
UIApplication.sharedApplication().cancelAllLocalNotifications()
再次阅读文档后,我意识到我错过了关键的第一步,那就是首先注册我的应用程序以获得用户通知。Apple文档是用OBJ-C编写的,但我能够理解它,以便将其转换为swift。这就是我所做的: 1。我将此添加到我的AppDelegate完成了启动选项功能,现在它可以正常工作了
var types: UIUserNotificationType = UIUserNotificationType()
types.insert(UIUserNotificationType.Alert)
types.insert(UIUserNotificationType.Badge)
let settings: UIUserNotificationSettings = UIUserNotificationSettings(forTypes: types, categories: nil)
UIApplication.sharedApplication().registerUserNotificationSettings(settings)
您正在计划在创建
today
变量后10秒发出通知。您是否真的在启动应用程序后10秒内将其置于后台?您是否添加了启用和响应通知所需的所有代码?你接受允许为你的应用程序发送通知的权限了吗?是的,我一启动应用程序,就立即将其放在后台,以确保我等待了10秒。我甚至看到我的日志声明在打电话。在回答你的第二个问题时,我确实觉得奇怪,我的应用程序从未请求允许通知。但是还没有想到这一点。如何强制它询问?您应该阅读详细信息。删除UIApplication.sharedApplication()。presentLocalNotificationNow(通知)
@rmaddy是正确的。我只是再次阅读了文档,但错过了关键的第一步,即首先注册我的应用程序以获得用户通知。在我做了这件事之后,它现在开始工作了。我会补充我的答案。天哪,我没法让它发挥作用,没有人在任何地方提到这件事。。。非常感谢。我同意,所有我见过的例子都没有提到这第一步。但很高兴我能找到答案并帮助其他需要帮助的人。