所以我使用 NSClassFromString 来检查用户是否安装了 iOS 5 或 iOS 6 以使用 Apple 的新 iOS 6 MKMapItem。这是代码:
- (void)openDirections:(id)sender {
Class mapClass = NSClassFromString(@"MKMapItem");
if (mapClass == nil) {
// iOS 5, do something here
}
else {
// iOS 6, open up maps with MKMapItem.
}
}
通过上面的代码,当我在 iOS 5.1 模拟器或 iOS 5.1 设备上运行它时,iOS 6 分支就会运行。但是,如果我使用
Class mapClass = NSClassFromString(@"PKPass");
这也是在 iOS 6 中引入的,我的代码遵循相应的 iOS 5 或 iOS 6 分支。我错过了什么吗?谢谢。