我是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错误时。
答案 0 :(得分:0)
这是预期的行为。如果一个应用程序被终止推送不会被传递给它(除非它是一个voip推送)。
如果它是前景推送它将被传递给用户,如果它是后台推送它将不会被传递给任何东西。
如果它是前台推送并且它被传递给用户,那么当用户点击通知时,您的应用将会启动。