有错误而崩溃:EXC_BAD_ACCESS KERN_INVALID_ADDRESS

问题描述:

使用Crashlytics,我看到我的用户的一小部分与错误EXC_BAD_ACCESS KERN_INVALID_ADDRESS崩溃,以下行:有错误而崩溃:EXC_BAD_ACCESS KERN_INVALID_ADDRESS

[[UIApplication sharedApplication].delegate.window.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)]; 

我已经无法重现崩溃,但有什么方法可以保护线路或对其进行修改以防止未来崩溃?它旨在完全删除屏幕上的任何视图/子视图。

如果需要更多信息,请让我知道。

你可以试试这个解决方案

if ([UIApplication sharedApplication].delegate != nil) { 
    for (UIView *subView in [UIApplication sharedApplication].delegate.window.subviews) { 
     if ([subView respondsToSelector:@selector(removeFromSuperview)]) { 
      [subView performSelector:@selector(removeFromSuperview)]; 
     } 
    } 
} 
+0

这应该工作,但如果它没有一次更新去活着,我马上汇报! – 2014-09-05 04:53:03

+0

好棒的尝试让我知道 – artud2000 2014-09-05 04:56:55