【问题标题】:ios swift creating local notification after silent notificationios swift在静默通知后创建本地通知
【发布时间】:2015-05-27 23:28:08
【问题描述】:

我正在向我的应用程序发送静默推送通知,然后处理推送通知的内容,然后再决定是否向用户发送本地通知。但是,在收到静默通知后,我无法从应用程序触发本地通知。

这是触发静默通知后我在 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 触发?

谢谢

【问题讨论】:

    标签: ios iphone swift apple-push-notifications apns-php


    【解决方案1】:

    好吧,我想通了,

    application.scheduleLocalNotification(localNotification)
    

    应该是

    UIApplication.sharedApplication().scheduleLocalNotification(localNotification)
    

    希望这对某人有所帮助!

    【讨论】:

    • 嗨,我不能让这个工作,我正在做和你一样的设置,但是当应用程序处于非运行状态时,当静默通知到达时仍然无法触发本地通知。你能建议什么吗为此。提前致谢。
    • 您好,如果您的应用程序被杀死,您将不会收到远程通知。当您的应用程序被终止时,您需要使用 VoIP 通知。不幸的是,Apple 只允许您将 VoIP 通知用于特定目的。
    • 谢谢一百万。
    • @IsPha 在收到静默推送后启动后台任务,然后触发本地通知将为您工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-06
    • 1970-01-01
    • 1970-01-01
    • 2019-01-02
    • 2018-12-05
    相关资源
    最近更新 更多