我目前正在开发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