OS のバージョンは、次を使用して取得できます。
[[UIDevice currentDevice] systemVersion]
ただし、デバイスまたは OS の機能を示すものとしてバージョン文字列に依存することは避ける必要があります。通常、特定の機能またはクラスが利用可能かどうかを確認する、より信頼できる方法があります。たとえば、NSClassFromString を使用して、現在のデバイスで UIPopoverController が利用可能かどうかを確認できます。
if(NSClassFromString(@"UIPopoverController")) {
// Do something
}
CLLocationManager や UIDevice などの一部のクラスは、デバイスの機能をチェックするメソッドを提供します。
if([CLLocationManager headingAvailable]) {
// Do something
}
Apple は GLSprite サンプル コードで systemVersion を使用しているため、私の推奨事項は絶対的なものではありません。
// A system version of 3.1 or greater is required to use CADisplayLink. The NSTimer
// class is used as fallback when it isn't available.
NSString *reqSysVer = @"3.1";
NSString *currSysVer = [[UIDevice currentDevice] systemVersion];
if ([currSysVer compare:reqSysVer options:NSNumericSearch] != NSOrderedAscending)
displayLinkSupported = TRUE;
currSysVer が reqSysVer よりも高くない場合は、else ステートメントを作成して、「iOS 5 が必要」という新しい modalViewController を自動的に提示します。