2012-10-12 36 views
2

我iOS應用在iOS 5和iOS 6運行,但集中於從6.我最近試圖測試我的應用程序在iOS的5.1模擬器(基地SDK爲5.0)的特點,它似乎正常工作,直到我拍了拍顯示與不同類的新視圖控制器的按鈕。在這一點上它崩潰了,我只剩下這個在輸出日誌中:應用崩潰視圖被加載之前的iOS> 6

objc[3063]: EXCEPTIONS: throwing 0x9e85510 (object 0x9e84780, a NSException) 
objc[3063]: EXCEPTIONS: searching through frame [ip=0x6d6a19 sp=0xbfffe020] for exception 0x9e854f0 
objc[3063]: EXCEPTIONS: searching through frame [ip=0x223dd83 sp=0xbffff200] for exception 0x9e854f0 
objc[3063]: EXCEPTIONS: unwinding through frame [ip=0x6d6a19 sp=0xbfffe020] for exception 0x9e854f0 
objc[3063]: EXCEPTIONS: unwinding through frame [ip=0x223dd83 sp=0xbffff200] for exception 0x9e854f0 
objc[3063]: EXCEPTIONS: handling exception 0x9e854f0 at 0x223de16 
objc[3063]: EXCEPTIONS: rethrowing current exception 
objc[3063]: EXCEPTIONS: searching through frame [ip=0x223dddf sp=0xbffff200] for exception 0x9e854f0 
objc[3063]: EXCEPTIONS: terminating 
objc[3063]: EXCEPTIONS: searching through frame [ip=0x158eeed sp=0xbffff190] for exception 0x9e854f0 
objc[3063]: EXCEPTIONS: catch(id) 
objc[3063]: EXCEPTIONS: unwinding through frame [ip=0x158eeed sp=0xbffff190] for exception 0x9e854f0 
objc[3063]: EXCEPTIONS: handling exception 0x9e854f0 at 0x158eeff 

就是這樣。我還設置頁眉和實現的類的斷點被加載並沒有斷點的是不斷命中,這意味着應用程序崩潰然後再加載視圖。

我從來沒有見過這樣的事情,但是我做了一些研究,谷歌發現了一些與NSArrays和NSPredicate(我的課程確實有關)的事情,但是我排除了這些解決方案,因爲視圖永遠不會加載 - 那麼如何還沒有分配/創建的NSArray會崩潰我的應用程序?

任何提示,解答,幫助將不勝感激!

編輯
我的項目使用:

  • 故事板
  • 的Xcode 4.5
  • ARC
  • 基地的SDK的iOS 5.0

有沒有額外的錯誤日誌,調試消息,任何東西。以上就是我所得到的。我一直在使用各地,我認爲可能是有問題的某些陳述@try/@catch條件下也嘗試過,但他們再次要麼從來不叫或不拋出異常。

(id)init方法也不會被調用。

我開始認爲這是一次奇怪的那些Xcode的4編譯器的問題之一......

編輯: 我也確信自動佈局被禁用(雖然我不知道,如果這是禁用它在正確的地方,這是在導航>文件檢查器):

enter image description here

+0

在'loadView'之前,代碼執行是否達到了視圖控制器的'init'方法? –

+0

@RobertKarl如果用'init'表示'(id)init'則表示沒有。它沒有得到任何東西。 –

+0

如果您將按鈕抽頭代碼包裝在@ try/@ catch中,並查看@catch中是否存在異常描述或調用堆棧符號,該怎麼辦? –

回答

0

我真的還是不明白這個錯誤,但使用的是第三方崩潰報告SDK稱爲Crittercism我發現了錯誤:

我試圖初始化一個UICollectionView,它只能在iOS 6或更高版本中使用。奇怪的部分是,Xcode看起來隨機決定告訴我這個,因爲在早期的版本中,我使用了UICollectionView併成功運行了5.1模擬器中的項目(當然我用代碼替代了TableView)。對我來說,編譯器甚至沒有達到initviewDidLoad方法似乎很奇怪。

只有在我從Xcode 4.5(Release,not Developer)更新到4.5之後,纔會出現此問題。1

+2

您是否將您的xib文件的「文檔版本控制」字段設置爲iOS 5.0的「部署」? (單擊XCode中的xib,然後單擊實用程序窗格中最左側的「文檔」圖標)。每個xib都有其自己的目標iOS,它可能與項目不同,並且可能會導致編譯器提供更好的警告。 – samkass

+0

謝謝@samkass! – Rendy