そこで、NSClassFromStringを使用して、Appleの新しいiOS6MKMapItemを使用するためにユーザーがiOS5またはiOS6をインストールしているかどうかを確認しています。これはコードです:
- (void)openDirections:(id)sender {
Class mapClass = NSClassFromString(@"MKMapItem");
if (mapClass == nil) {
// iOS 5, do something here
}
else {
// iOS 6, open up maps with MKMapItem.
}
}
上記のコードでは、iOS5.1シミュレーターまたはiOS5.1デバイスで実行すると、iOS6ブランチが実行されます。しかし、私が使用する場合
Class mapClass = NSClassFromString(@"PKPass");
これもiOS6で導入され、私のコードは適切なiOS5またはiOS6ブランチに従います。私は何かが足りないのですか?ありがとう。