iOSのバージョンで場合分け


アプリを作っているときって、Web上にあるコードの断片を参考にしてコーディングすることが結構あるのですが、iOSのバージョンアップによって「Deprecated in iOS 6.0」なんてxcodeに警告を出されることがたまにあります。

で、この場合、iOS6.0以上と6.0未満で場合分けをしないといけないわけなんですが、実は面倒でこれまで放置していました。。。
まぁ動けばいいや、なんて思ったりしてて。
ですが、そろそろ一度調べておこうなどと殊勝にも考えまして、ようやく調べてみました。

次のように場合分けすればいいらしい。
簡単ですね。


float version = [[[UIDevice currentDevice] systemVersion] floatValue];
  if (version >= 6.0) {
    // iOS6.0以上の処理
  }else{
    // iOS6.0未満
  }

私の場合、最近アプリ開発を始めたということもあって、対象は5.1以降でいいやって思ってるため多分この方法でいいのですが、もっと細かくバージョンで場合分けしたい場合には、この方法だとダメらしいです。
上記の方法ではfloatにバージョン番号を入れちゃってるので、例えば4.3.5とか5.1.1とか小数点(ドット)が2つ以上入っているバージョンが判別できません。

で、どうすればよいのかと言うと↓のサイトで解説されています。
NSStringで比較せよとのことです。
OSのバージョン番号を比較する方法 – 強火で進め
ちょっと面倒ですが、アプリ起動時に一度調べちゃえばいいだけなので、大した手間でもないか。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です