アプリを iOS6 の MKDirectionsRequest (乗換案内メソッド) に対応させたいと考えています。Apple は、これを行う最善の方法は次のように述べています。
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
if ([MKDirectionsRequest isDirectionsRequestURL:url]){
}
}
ただし、アプリが iOS5 ではなく iOS6 で実行されている場合にのみ、このコードが実行されるようにする最善の方法は何ですか? アプリはiOS5にも対応しているはずですが、私MKDirectionsRequest
はiOS6です。
次のようなコンパイラ ディレクティブは使用できません。
#ifdefine iOS5
または何でも。
これが最善の方法ですか?
BOOL atLeastIOS6 = [[[UIDevice currentDevice] systemVersion] floatValue] >= 6.0;
その後:
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
if (atLeastIOS6)
{
if ([MKDirectionsRequest isDirectionsRequestURL:url]){
}
}
}
openURL をチェックするときに iOS5 でクラッシュしないようにしたいだけです。