iOSのバージョンで場合分け
- 2012年11月13日
- 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のバージョン番号を比較する方法 – 強火で進め
ちょっと面倒ですが、アプリ起動時に一度調べちゃえばいいだけなので、大した手間でもないか。