2015-03-25 68 views
0

我有一个应用程序正在崩溃,当我尝试加载保存在Web视图的文档目录中的HTML文件。 该应用程序仅在IPAD air上崩溃,而不在其他设备上。应用程序崩溃IPAD空

只有当我创建.ipa文件然后打开HTML文件时,才会出现此问题。如果我从XCode运行应用程序,那么加载HTML并且应用程序不会崩溃。

当我检查崩溃日志,它显示

异常类型:EXC_BAD_ACCESS(SIGSEGV)

异常子类型:KERN_INVALID_ADDRESS在0x0000000000000010。

请帮助,因为我一直在过去3天的问题卡住了。

+1

你需要发布更多的信息,使异常断点和解决问题的地方。 – rckoenes 2015-03-25 11:06:28

+0

几乎肯定使用NULL指针访问数据,因为崩溃是从0x0开始的10个字节。正如@rckoenes所说,你需要使用调试器来识别堆栈跟踪并发布你找到的东西。否则可能是任何事情。 – 2015-03-25 11:18:00

+0

如何在iPad上安装应用程序时识别堆栈跟踪。 – user 2015-03-25 13:26:35

回答

0

只有当webview打开PopOver拾取器时,我才面临iPad空中的相同问题。搜索后,这个问题有时候是因为某种种族或在下面的代码是零的sourceView的,所以我必须重写此方法,它工作-(void)presentViewController:(UIViewController *)viewControllerToPresent animated:(BOOL)flag completion:(void (^)(void))completion

-(void)presentViewController:(UIViewController *)viewControllerToPresent animated:(BOOL)flag completion:(void (^)(void))completion 
{ 

//If sourceView is nil, do nothing 

if (viewControllerToPresent.popoverPresentationController && !viewControllerToPresent.popoverPresentationController.sourceView) { 
    return; 
    } 

// to solve the race issue 

    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, NSEC_PER_USEC), dispatch_get_main_queue(), 
       ^{ 
        [super presentViewController:viewControllerToPresent animated:flag completion:completion]; 
       }); 

    }