Swift-AppKilled点击通知栏启动App时如何跳转

当你已经收到离线推送,此时App已经被杀。此时点击通知栏,希望App启动后跳转到指定页面,改如何处理呢

1、需要注意,上面的情况,是不会走以下方法的

收到远程推送的方法

    func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject], fetchCompletionHandler completionHandler: (UIBackgroundFetchResult) -> Void)

这边只能处理App未被Kill,点击通知栏,取值跳相关页面

2、正确做法是在以下App启动方法中,根据remoteNotification取到相关信息(userInfo)
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool 

根据UIApplication.LaunchOptionsKey.remoteNotification取到内容,再进行相关处理

if let userInfo = launchOptions?[UIApplication.LaunchOptionsKey.remoteNotification] as? [AnyHashable: Any] {
//根据userInfo里相关信息,做逻辑跳转
//如果未完成跳转,可尝试延迟2秒执行跳转方法(待初始化完成后执行)
   if let content = userInfo["data"] as? String {
    // router
   }
}

如果有帮助到你,就点个赞吧!

你可能感兴趣的:(Swift-AppKilled点击通知栏启动App时如何跳转)