LoginSignup
27
36

More than 5 years have passed since last update.

iOSのバージョン判定をする方法

Last updated at Posted at 2016-11-08

いつも忘れてしまうので、防備録として。
iOSのバージョン判定するには以下の方法で行う。

Objective-C
if ( floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_9_x_Max )
{
    // iOS10以降の場合
} else {
    // iOS9以前の場合
}
Swift
if floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_9_x_Max {
    // iOS10以降の場合
} else {
    // iOS9以前の場合
}

<追記>
なお、Swiftだとこういう書き方もできるとコメントをいただきました。
こちらの方がかなり直感的ですね。

Swift
if #available(iOS 10.0, *) {
    // iOS10以降の場合
} else {
    // iOS9以前の場合
}

iOSのバージョンによって異なるデザイン(iOS7以前)やiOS10から変わったウィジェットの背景色などを調整したりする際にこの判定処理が使えます。

以下の方法でもiOSのバージョン判定ができますが、直接値が書かれていたりするので、上記の方法が個人的には好きです。

Objective-C
float iOSVersion = [[[UIDevice currentDevice] systemVersion] floatValue];
if (iOSVersion > 9.9f) {
    // iOS10以降の場合
} else {
    // iOS9以前の場合
}

参考:iOS 7 UI Transition Guide

<追記>
コメントでいただいたのだが、こんな方法でも判定ができるとのこと。
判定方法はいろいろとあるようですね。

iOS のバージョンを簡単にマイナーバージョン等を加味して判定する

27
36
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
27
36