从AppDelegate推送视图控制器

mva*_*sco 1 apple-push-notifications ios appdelegate

我刚刚开始学习如何使用iOS和Parse实现推送通知.目前,我可以从Parse仪表板向应用程序发送推送通知,收到通知,正如我在Xcode控制台中看到的那样,但现在我的问题是我无法从AppDelegate打开视图控制器.

这是我的代码:

- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo
fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))handler {
    // Create empty photo object
    NSString *photoId = [userInfo objectForKey:@"p"];
    NSLog(@"P=%@",photoId);


    UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil];
    Aceptado *targetViewController = (Aceptado*)[mainStoryboard instantiateViewControllerWithIdentifier:@"servicio_aceptado"];
    UINavigationController *controlador = [[UINavigationController alloc]init];
    [controlador pushViewController:targetViewController animated:YES];

    }
Run Code Online (Sandbox Code Playgroud)

正如我所说,控制台显示日志NSLog(@"P=%@",photoId),收到通知,但未显示视图控制器,显示任何警告或错误.

欢迎任何帮助.

mva*_*sco 5

我已经解决了这个问题:

 UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main"
                                                             bundle: nil];

    Aceptado *controller = (Aceptado*)[mainStoryboard
                                                       instantiateViewControllerWithIdentifier: @"servicio_aceptado"];
        controller.id_not =_id_not;
        controller.idemployee = _idemployee;
        controller.fullname = _fullname;
        controller.phone = _phone;
        controller.photo = _photo;
        controller.dni = _dni;
        controller.licenseplate = _licenseplate;
        controller.model = _model;
        controller.color = _color;
        controller.latitude = _latitude;
        controller.longitude = _longitude;

    self.window.rootViewController = controller;
Run Code Online (Sandbox Code Playgroud)

现在我可以从AppDelegate文件将值传递给目标视图控制器,保留SWRevealViewController结构.感谢大家的建议.