推送通知数据检索

Idr*_*raf 5 iphone push-notification apple-push-notifications ios

我想从推送通知消息中获取数据.当应用程序处于前台和后台时,我成功获取数据.但是当应用程序退出并且用户按下推送通知上的查看按钮时,我无法获取数据.我在应用程序中编写代码完成启动.按下推送通知消息的"查看"按钮时,此代码会导致应用程序崩溃.如果我评论代码,那么应用程序不会崩溃.请在退出应用程序时帮助我从推送通知中获取数据,并在推送通知时按用户按下查看按钮.我真的很感激.

if(launchOptions != nil){
        NSDictionary *tmpDic = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
        if (tmpDic!=nil) {
            pushedMessage=[NSString stringWithFormat:@"%@",[[tmpDic objectForKey:@"aps"] objectForKey:@"alert"]];
            pushedCountry=[NSString stringWithFormat:@"%@",[tmpDic objectForKey:@"country"]];
            [self saveToDatabase];
        }
    }
Run Code Online (Sandbox Code Playgroud)

Sak*_*shi 0

当您点击查看按钮时

- (void)application:(UIApplication*)application didReceiveRemoteNotification:      (NSDictionary*)userInfo
{
}
Run Code Online (Sandbox Code Playgroud)

调用此方法并且userinfo 将包含所有数据

您在didfinishlaunch方法中执行的操作在 didReceiveRemoteNotification 中执行