我正在向我的应用发送静默推送通知,然后处理推送通知的内容,然后决定是否向用户发送本地通知。但是,在收到无声通知后,我无法从应用程序发出本地通知。
这是我在触发静默通知后的appdelegate中的代码:
func application(application: UIApplication,
didReceiveRemoteNotification userInfo: [NSObject : AnyObject],
fetchCompletionHandler handler: (UIBackgroundFetchResult) -> Void) {
println("Did receive remote with completion handler")
var localNotification:UILocalNotification = UILocalNotification()
localNotification.alertAction = "view broadcast messages"
localNotification.alertBody = "Hello"
localNotification.fireDate = NSDate(timeIntervalSinceNow: 0)
localNotification.soundName = UILocalNotificationDefaultSoundName;
application.scheduleLocalNotification(localNotification)
handler(UIBackgroundFetchResult.NewData)
}
然而,本地通知永远不会发生。
我启用了位置更新,后台提取和远程通知功能。
此外,当我的应用处于其后台状态时,它会侦听位置更新,然后在特定情况下使用本地通知向用户发出警报 - 这些通知来自类似的代码。
那么为什么本地通知不会从didReceiveRemoteNotification
发出?
由于
答案 0 :(得分:6)
好的我明白了,
application.scheduleLocalNotification(localNotification)
应该是
UIApplication.sharedApplication().scheduleLocalNotification(localNotification)
希望这有助于某人!