2015-03-25 148 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]; 
       }); 

    }