2016-02-24 56 views
1

我與我的應用程序(只有iPad的9.x)有一個奇怪的崩潰,我不確定如何調試它,因爲日誌沒有幫助發現發生了什麼。調試一個奇怪的崩潰 - NSInternalInconsistencyException

最奇怪的是日誌顯示Auto layout internal error,但我的應用程序沒有打開自動佈局。

任何人都有任何想法如何調試什麼導致它?我認爲代碼


enter image description here


部分負責崩潰:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view. 

    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapBackground:)]; 
    [self.ivBackground addGestureRecognizer:tap]; // UIImageView (background) 
} 

- (void)tapBackground:(UITapGestureRecognizer*)tap 
{ 
    [self.view endEditing:YES]; 
    [self dismissViewControllerAnimated:YES completion:nil]; 
} 
+0

你看了這裏:http://stackoverflow.com/questions/34409481/auto-layout-internal-error-happening-when-a-view-is-dismissed –

+0

@EugeneZhenyaGordin是的,但在我的情況的差異故事板上的「自動佈局」已關閉。 –

+2

關於你實際在做什麼沒有太多的信息。另外,您可以看到Fabric/Crashlytics中的這個日誌,您是否試過在通過xcode運行時進行調試? –

回答

2

從崩潰日誌,你可以看到它具有與設備的做鍵盤。您能否擴展第4行和第36行之間的崩潰日誌或上傳完整的崩潰日誌,以便我們可以看一看。謝謝

它也被標記爲崩潰日誌中的bug!

更新:

檢查完整的日誌後,它看起來像一個單指輕點

20 -[UITextInteractionAssistant(UITextInteractionAssistant_Internal) oneFingerTap:] 

導致該文本框,成爲第一個響應者,這是設置鍵盤,但在同時手勢觸發了endEditing和viewController的解除。

由於textField在Autolayout完成設置之前已被刪除,鍵盤正在崩潰應用程序。

我會重新考慮你如何構建你的觀點和手勢,以及你如何解僱或關閉VC。

+0

看看這裏:http://crashes.to/s/022f0f520e2(編輯) –

+0

更新了答案。 – jarryd

+0

可能導致這種情況的一種情況是在圖像視圖上按下,觸發手勢,同時按下文本視圖,觸發firstResponder調用。可能的持續時間設備旋轉? – jarryd