2011-11-22 41 views
2

我剛剛開發了一款iPad應用程序來測試,但是在iOS 4.3中做過。現在我已經在模擬器中更新到5.0,並且還通過了蘋果公司的步驟來測試我的iPad,它運行5.0iOS 5中的彈出窗口變化?

在4.3模擬器中一切正常。但在5.0模擬器和iPad上,我的所有源自UIButton的彈出窗口都會使應用程序崩潰。我有一個來自navbar按鈕的彈出窗口,它工作正常。

崩潰的每個彈出窗口都會顯示其內容(帶有pdf文件的UIWebview),但是當我隨後單擊屏幕上的任意位置時,應用程序崩潰(在彈出窗口和外部)。

我可以發表一些代碼,但希望這個描述有助於給某人一個想法。我不會手動關閉彈出窗口或檢查它是否打開,但因爲這不僅僅是通過嘗試觸摸其啓動的UIButton而發生,所以我不認爲這就是它發生的原因。加上它的工作原理如下4.3


編輯:這是由於斯蒂芬的評論現在解決。我加入到酥料餅的內容的viewController:

- (void) dealloc { 
[webView release]; 
[super release]; 
} 

通常我會打電話[super dealloc]代替[super release],但[super dealloc]未解決異常(EXC_BAD_ACCESS)。希望我沒有在這個問題上提出一個馬虎的補丁!

+0

什麼異常?什麼是堆棧跟蹤?這很可能是內存管理問題。 –

+0

我猜這需要一個可愛的存儲故障,沒有回溯。 (當然,iOS 5模擬器無論如何都不會提供回溯。) –

+0

謝謝史蒂芬,你對內存管理很感興趣。我不得不放入dealloc方法,並讓超級發佈。因爲它在4.3模擬器上工作,甚至沒有發生過我。我只是用相同的方法發佈,我爲popover內容分配了webView。 – Mac

回答

0

我有一個線程開始收集像這樣的錯誤,但論壇警方將其廢除。只要說iOS 5充滿了不兼容性就夠了。

我不能肯定地說你的問題是什麼,但是有一個很好的機會與UINavigationController的更改有關,它導致UIViewController的navigationController無法用於彈出窗口,而parentViewController取代了它的位置。

不幸的是,parentViewController是新的,所以你必須,例如測試respondsToSelector:@selector(parentViewController)並帶上parentViewController(如果存在的話),否則navigationController。

必須在我們擁有的應用程序的約30個地方添加此邏輯。