我正在做的是当收到推送通知时,我正在导航到特定的视图控制器,具体取决于我从该通知获得的用户信息。从方法
接收此导航和用户信息didReceiveRemoteNotification
当应用处于后台并收到通知时,此功能非常正常。
但是当我的应用程序被强制停止时,我收到通知,然后点击我的应用程序第一次启动,因此didReceiveRemoteNotification
方法没有被调用,我无法将我的应用程序重定向到特定的视图控制器。它只是打开我的应用程序的第一页。
如何检测我的应用程序是否从推送通知启动并从{{1}}得到的通知获取信息,现在我需要将其重定向到特定页面?我的应用程序支持来自iOS 7及更高版本。
怎么了这种类型的Senario,但无法弄清楚如何做到这一点。
答案 0 :(得分:1)
你可以从 didFinishLaunchwithOptions :( lauchoptions)方法中检测出notificatin。 在这种方法中,使用lauchoptions来读取通知字典 ` if(launchOptions){// launchOptions不是nil
userInfo = [launchOptions valueForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
apsInfo = [userInfo objectForKey:@"aps"];
}`
然后根据通知密钥设置window.rootviewcontroller。