読者です 読者をやめる 読者になる 読者になる

iOSのバージョンチェック方法

今週は、iPhone 4Sの発売が控えていますが、開発者にとっては、もう1つ重要なポイントがあります。それは、iOSが、5.0にバージョンアップされることです。
SysStats MonitorとSysStats Liteでは、バージョンアップの影響を受ける部分があります。
過去に、2.2.1でビルドしたアプリから、3.0で追加されたAPIを使ってみました - The iPhone Development Playgroundで、メソッドが定義されているかどうかをチェックする方法を紹介しましたが、今回は、実行中のOSのバージョンをチェックするより他に方法がありませんでした。
簡単な処理ですが、そのチェック方法について、メモを兼ねて、書いておこうと思います。

    NSString *currentSystemVersion = [[UIDevice currentDevice] systemVersion];

    if ([currentSystemVersion compare:@"5.0" options:NSNumericSearch] == NSOrderedAscending) {
        
        // 5.0より前のバージョンと判定されたとき
        NSLog(@"currentSystemVersion(%@) < 5.0", currentSystemVersion);
        
    }
    
    if (([currentSystemVersion compare:@"5.0" options:NSNumericSearch] == NSOrderedSame) ||
        ([currentSystemVersion compare:@"5.0" options:NSNumericSearch] == NSOrderedDescending)) {
        
        // 5.0以降のバージョンと判定されたとき
        NSLog(@"currentSystemVersion(%@) >= 5.0", currentSystemVersion);
        
    }

-[NSString compare:options:]メソッドのoptionsにNSNumericSearchを指定すると、中に含まれている数字を考慮して比較してくれるので、楽ですね。