2016-07-15 101 views
1

我有一个应用程序,其中任何人在回答问题时都会收到通知。所以当我收到通知并点击它时,我必须转到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]; 


    }); 
} 
+0

为什么使用'dispatch_async'块?尝试删除它 – iSashok

回答

2

这不会回答你的问题,但可能会帮助有同样问题的人。这是苹果的错误,你可以显示here,没有人可以找出确切的解决方案。

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

解决方案2:请删除dispatch_async(dispatch_get_main_queue()声明和卸载应用程序&干净&构建

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

解决方案4:什么,它的工作对我来说是删除在iPhone模拟器应用程序,强制退出模拟器并创下Xcode再次运行。