我目前正在開發iPhone應用程序 - 暫時 - 需要在4.x之前的版本上支持。支持4.0/3.2之前的iOS版本以及NSClassFromString的問題
當我想要使用的東西4.x或3.2具體的,我會用檢查,如果給定類存在的通常的做法,即:
if(NSClassFromString(@"SomeClass")) {
// do stuff here
}
這主要工作,當它不除。 (根據文件僅適用於3.2或更新版本)
- UIMoviePlayerViewController(如UIPanGestureRecognizer; UITapGestureRecognizer等)
: 讓我解釋一下:
類,比如實際上解析爲有效的類,就好像它們早已在早期版本的私有API上可用一樣。 是這種情況,還是我錯過了什麼?
這真的很糟糕,因爲NSClassFromString()
方法實際上是由Apple推薦的。
爲了安全起見,我目前正在檢查操作系統版本,而不是對存在的類進行運行時檢查。
其他人有這個問題嗎? 謝謝。
實際上,在有私人實施的情況下,Apple建議您檢查操作系統版本以確定功能。在處理重新呈現UIScrollView中的縮放視圖時,檢查版本也是必要的,因爲它報告OS 3.2中更改的縮放因子的方式。 – 2010-08-11 19:19:07
請參閱WWDC第130會議視頻 - 「未來打樣您的應用程序」瞭解更多信息。 – 2010-08-11 19:21:21