2011
12.21


咳~沒錯,iOS 5之回不去了又演續集了,
這次要演出的是UIPopoverController在iOS 5上的怪bug,
至於什麼是UIPopoverConttroller呢?
請看上方圖片中的左側是否有一個對話視窗,
那個就是所謂的UIPopoverController。

問題是這樣的,之前我在課堂上示範了如何用iPad來撰寫一個Wiki的讀取器,
示範就是用到了UISplitViewController和UIPopoverController的元件,
這個範例在iOS 4的時候一直運作得很好,
但是在最近因為轉用iOS 5 SDK授課,
結果在最後編譯執行時每每都會造成crash,
這還不是最慘的,最慘的是crash後還沒有錯誤訊息。 Orz

怎麼辦呢?當然只能透過多年"踩地雷"的經驗來除錯,
在經過我一個小時的採來踩去後發現,
居然在iOS 5中的UIPopoverController內部的元件中,
不能包覆在UINavigationController中或是曾被UINavigationController包覆,
但是這是實驗結果,至於原因呢?

答案是:
我不知道…..   *翻桌*

這分明是一個iOS 5 SDK的bug吧?
好吧!既來之只能接受之,
各位讀者,要小心iOS 5的地雷區,
那麼下次"iOS 5之回不去了"續集見了…

P.S. 這樣寫好像我已經放棄iOS5匯一直出續集的樣子 XD


相關文章:
  • iOS5之回不去了 – Developer該注意事項
  • iOS5之回不去了 – 用xCode 4.2發佈app
  • iOS5之回不去了 – MKReverseGeocoder取代方案
  • 神奇的UISaveVideoAtPathToSavedPhotosAlbum 的 12950 Error Code
  • Apple上傳app時招遇 An error occurred uploading to the iTunes Store 的解法
  • 本文引用:
    文章內容由宋志峰[ANISTAR]撰寫,引用分享請以鏈結形式註明出處與原始作者。

    6 comments so far

    Add Your Comment
    1. PopoverController 和 NavigationController
      都是Container型的controller
      已經被其中一個container使用了
      當然就不能在被另一個使用了

      • 可怕沒這麼單存, 因為在iOS 4以前是正常的, 只有在iOS 5 SDK之後才這樣的.

      • Popover 不是 UIviewController 只是 繼承NSobject吧

      • 跟這個無關, 因為UIPopover用不是用addSubView來進行操作.

    2. 老師請問用TestFlight測試app
      https://testflightapp.com/
      跟一般需連結mac跟iphone的安裝測試app方式
      有差異嗎?

      • 抱歉, TestFlight我並沒有用過….