對於所有新的iOS 5方法都不是這樣,但我發現調用UINavigationBar的setBackgroundImage:forBarMetrics:
方法將觸發「未找到實例方法」警告低於5.0。這是即使我連接到SDK 5.0。在設置較低的部署目標時,無法編譯包含iOS 5方法的代碼
更重要的是,用作參數的enum UIBarMetrics被報告爲「未聲明的標識符」,這將觸發編譯器錯誤。
任何想法爲什麼這是這樣嗎?我意識到,如果部署目標低於5.0,代碼將無法工作,但我在檢查UINavigationBar是否在運行時響應該選擇器,所以一切都應該正常。雖然我不明白編譯器錯誤。
編輯: 這隻發生在爲設備編譯和設備實際插入時(我測試過的設備運行iOS 5.0.1)。
你可以檢查你的方案設置是否與模擬器的設置相同嗎?你可以有一個不同的目標下iOS的計劃,有一個較低的SDK然後5.0? – chown
基本SDK始終設置爲最新的iOS(iOS 5)。請注意,我*能夠使用其他iOS 5方法,如UIViewController的childViewControllers。我有一種感覺,這個問題似乎只適用於外觀方法(那些標記爲UI_APPEARANCE_SELECTOR的方法)。 –