今天发现App在未开启状态下收到推送通知后,没有跳转到指定页面,遂开始调查。

后来发现通过推送点击进入App并没有调用didReceiveRemoteNotification方法,而是直接调用didFinishLaunchingWithOptions(这不应该的吗 😒)

解决方案:

在didFinishLaunchingWithOptions获取launchOptions的状态,如果是从通知呼起应用,则处理推送。

NSDictionary *userInfo = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
if (userInfo) {
[self handleRemoteNotification:userInfo];
}

搞定收工!