终止,因为从推送通知启动时没有系统应用程序

时间:2016-07-15 05:14:27

标签: ios objective-c xcode apple-push-notifications

我有一个应用程序,当任何人回答问题时,通知会到达。因此,当我收到通知并点击它时,我必须带到answerviewcontroller。 我正在使用以下代码。但应用程序崩溃显示"终止,因为没有系统应用程序。"。手机重新启动,带有苹果徽标。为什么???请帮忙

    -(void)pushdetailsViewController
{
    dispatch_async(dispatch_get_main_queue(), ^{
        UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil];
         QPYourQuestionController *controller = (QPYourQuestionController*)[mainStoryboard instantiateViewControllerWithIdentifier: @"yourQuestion"];
      [[QPCommonClass initializeUserDefaults]setObject:[pushDictonary valueForKey:@"question_id"] forKey:@"currentquestionID"];
        NSLog(@"Dictionary %@",pushDictonary);

        UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;
        [navigationController pushViewController:controller animated:YES];


    });
}

1 个答案:

答案 0 :(得分:2)

这不会回答您的问题,但可能会帮助处理相同问题的人。这是你可以展示的苹果错误here,没有人可以找到确切的解决方案。

解决方案1:  您会混淆SpringBoardstoryboards。您的storyboard没问题,但您需要重新启动设备(或退出并重新启动模拟器),因为SpringBoard(处理主屏幕的过程)已经死亡。

解决方案2 :请删除dispatch_async(dispatch_get_main_queue()声明并卸载app&清洁&构建

解决方案3:该错误消息只是告诉您iOS已停止运行。显然,应用程序不再运行,并且在iPad完成重启之前无法再次运行。至于导致崩溃的原因,你需要做更多的探索。绝对打开异常断点以查看是否可以在整个设备crashes之前捕获崩溃。另外要记住的是,无论出于何种原因,如果安装了分发配置文件,调试器将无法工作。例如,如果你有一个包含推送配置文件的应用程序,它会在启动后不久就崩溃,因为调试器会将它与它一起关闭。

解决方案4:对我有用的是在iPhone模拟器中删除该应用,强制退出模拟器并在Xcode再次点击运行。