2011-06-14 69 views
2

首先,我想說的是,我知道我的問題可能太模糊,無法回答,可能會被關閉/倒票。我只是希望能夠對可能的解決方案進行一些鼓舞人心的思考。通用應用程序在iPad 1上工作,但不在iPad 2上

這裏的故事:

我的應用程序崩潰是在iPad 2,但不是在iPad 1,我已經修復與解檔筆尖,現在我有一個很奇怪的問題崩潰 - 我的通用的應用程序仍然運行在iOS 4.2.1和4.3.3的第一代iPad上沒有任何問題,但在4.3.3版本的iPad上沒有任何問題。不幸的是,我無法通過iOS < 4.3.3訪問iPad 2,以進一步測試並縮小問題範圍。

我的應用程序的主屏幕使用presentModalViewController顯示。我的模態VC是MGSplitViewController(它模仿原生UISplitViewController並增強其功能)。當我的VC出現時,只顯示「根視圖」,而「詳細視圖」的屏幕剩餘部分只是黑色且空白,但控制器已加載並處於活動狀態(調試日誌已打印等)。

因此,在iPad 2上,我無法正常顯示細節視圖,但是我從一位用戶那裏聽說他的iPad 2(兩個iOS 4.3.3)都沒問題。無論iOS版本,應用程序在iPhone/iPod上也可以正常工作,所以我認爲它僅與我的通用應用程序的iPad代碼相關。

我認爲這可能是顯示視圖時更常見的問題。我試着讀取我詳細視圖的view屬性,這應該強制顯示視圖,但它沒有幫助。它也可能與IB的東西有關(最初的筆尖解壓僅在iPad 2上崩潰??),但我認爲IB中的所有東西都連接好...

任何人都有絲毫的想法如何調查這個問題?

編輯︰順便說一句:我的iPad 2給我很難,因爲它經常下降Wi-Fi連接。其他人也在報告這種「特徵」。這可能是因爲我的iPad 2出了問題嗎?

EDIT2:該應用程序在iOS 3.2,4.2和4.3.3模擬器(通過XCode 4)上也沒有正確顯示,但通過Xcode 3正確顯示在iOS 3.2,4.2模擬器上。奇怪的是它?

+0

您能解決此問題嗎?我有類似的問題,沒有iPad 2進行測試。另外,你怎麼知道有一個筆尖加載問題?也許你在iPad 2上使用調試器運行應用程序? – bdmontz 2011-07-11 14:31:46

+0

我對我的應用程序有同樣的問題!它在iPad2上崩潰... – SPatil 2011-07-26 06:47:47

回答

0

最初,由於取消存檔筆尖,應用程序崩潰。我不記得確切的崩潰輸出,但對我來說,相同的筆尖在具有相同操作系統版本的iPad 1上正確解除存檔對我來說很奇怪,所以我懷疑問題在於xib文件中......我重新創建了xib從頭開始仔細尋找一切 - 巴姆! - 它開始在iPad 1和iPad 2上工作!如何在運行不同硬件的相同操作系統上以相同方式解除一些筆尖的存檔?

1

任何人都有絲毫的想法如何調查這個問題?

如果你允許對含糊不清的問題做出含糊不清的回答,那麼是的,我確實有一個想法。

接近一般像這樣的問題,這個問題域的二分法是前進的好方法:

  • 您識別的一般問題區。你的情況可能是presentModalViewController
  • 然後在有問題的代碼的中途,您設置了一個斷點/寫一條消息到一個日誌文件/播放聲音/發送郵件/ tweet /無論它需要驗證您的代碼在沒有崩潰的情況下到達那裏。
  • 運行它並查看您的消息是否已經生成。
  • 如果已經生成,問題不在上半年,所以它必須在下半年(在確定問題區域末尾的日誌消息也是有用的,只是爲了確保崩潰實際上在那之前發生)。
  • 另一方面,如果沒有跟蹤您的日誌消息,那麼崩潰必須發生在前半部分,並且您可以排除後半部分代碼的特定問題。

現在您重複該算法,將您的斷點/日誌消息設置爲剛剛確定的罪魁禍首的一半。

重複,直到找到問題。它不會需要很多迭代。

當然,崩潰可能是由於某個變量存儲在上一步或另一種方法中,但現在你知道去哪裏看。

+0

我遵循你的算法並隔離了問題 - 查看我的答案。 – matm 2011-09-01 20:44:34

相關問題