如何处理在IOS Swift 2中通知的被杀死(关闭)App状态

时间:2016-05-10 16:08:33

标签: ios notifications swift2 apple-push-notifications

我是IOS编程的新手。我在IOS Swift 2中有问题处理通知。我发送来自服务器的通知,当App没有被杀死(在Android onPause()中等效)我可以通知处理并打开App正常工作,转到通知网址。当我杀死App(Android中的等效onDestroy())通知句柄无法正常工作,应用程序打开和关闭(在Android onPause()中等效)自动和应用程序在后台工作,不会去通知网址。

  func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) {
    print(userInfo)
    if let aps = userInfo["aps"] as? NSDictionary {
        let link_url:String = (aps["link_url"] as? String)!

        self.notifUrl = link_url
        if(!self.appActive! && self.mainView != nil) {
            self.mainView?.loadLink(link_url)
        }
    }
}

func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject], fetchCompletionHandler completionHandler: (UIBackgroundFetchResult) -> Void) {
    if let aps = userInfo["aps"] as? NSDictionary {
        let link_url:String = (aps["link_url"] as? String)!

        self.notifUrl = link_url
        if(!self.appActive! && self.mainView != nil) {
            self.mainView?.loadLink(link_url)
        }
    }
}
  

注意:当我杀死App SIGKILL错误时。

什么问题?我该如何解决? enter image description here

1 个答案:

答案 0 :(得分:0)

这是预期的行为。如果一个应用程序被终止推送不会被传递给它(除非它是一个voip推送)。

如果它是前景推送它将被传递给用户,如果它是后台推送它将不会被传递给任何东西。

如果它是前台推送并且它被传递给用户,那么当用户点击通知时,您的应用将会启动。