如何处理Push on App未运行状态?

时间:2017-07-02 13:03:43

标签: ios objective-c iphone push-notification ios10

是否可以根据推送通知内容打开iOS应用程序?我相信这是不可能的。还有其他方法吗?我相信我们可以使用iOS10中的小部件,对吧?请提出一些好的解决方案?

谢谢!

3 个答案:

答案 0 :(得分:2)

只要您的有效负载有content-available:1,您的应用就会在它到达后立即在后台状态中被呼叫,并会拨打application(_:didReceiveRemoteNotification:fetchCompletionHandler:)。如果用户手动杀死应用程序,则不会调用它。 (这不会启动您的应用。它需要您的应用启动)

如果您的应用已被终止(由用户),但用户点击了通知,那么您的应用已启动来自didFinishLaunching ...委托方法。

答案 1 :(得分:1)

每当用户点击推送通知时,应用程序从未运行状态启动到AppDelegate中的运行状态         func application(应用程序:UIApplication,didFinishLaunchingWithOptions launchOptions:[NSObject:AnyObject]?) - >布尔{

}
in this function you can check application is launch from push or application icon 

var notification: [AnyHashable: Any]? = (launchOptions[UIApplicationLaunchOptionsRemoteNotificationKey] as? [AnyHashable: Any])
if notification != nil {
    print("app received notification from remote\(notification)")
    application(application, didReceiveRemoteNotification: notification)
}
else {
    print("app did not receive notification")
}

答案 2 :(得分:0)

是的,我们无法在推送通知上打开ios应用程序,但我们可以通过推送通知唤醒应用程序。它叫做VOIP通知。您可以从以下链接https://github.com/hasyapanchasara/PushKit_SilentPushNotification

获取有关此内容的更多信息