iOS 7対応を切るとサポート外になる端末、使えるようになる主な機能

数カ月以内にiOS 9が登場するのではないかと噂されている。アプリを開発・運用していく上で、どの世代のOS/端末までサポートするべきかというのは悩ましい問題だが、判断材料の一つとして、iOS 9リリース後、2世代前のiOS 7のサポートを切った場合(つまり、iOS 8以降のみを対象とした場合)に、どういうメリット・デメリットがあるかをまとめた。

[デメリット]サポート外になる端末

  • iPhone 4

iPhone 4はiOS 8にアップデートできないため、サポート外となる。Unityが発表しているMobile Hardware Stats 2015-04では、iPhone 4のシェアはモバイル全体(Androidなども含む)で1.9%なので、実際には3-5%前後ユーザがいると考えたほうがよい。iPhone 4S, iPad 2以降はすべてiOS 8/9にアップデートできる。
ただし、iOS 7からアップデートしないユーザも一定数いる。Appleのウェブサイトによると、7月現在、14%の端末では未だにiOS 7が動いているようだ。iOS 6以前は2%以下となっているが、iOS 9リリース後この数字がどの程度のスピードで変化するのかは注意してみていく必要がある。

[メリット]素直に使えるようになる主な機能(iOS 8の機能)

  • UIVisualEffectView(すりガラス効果)
  • Self sizing cell – UITableViewで、高さが可変なセルの実装が簡単に
  • PhotoKit / CloudKit / HealthKit / HomeKit
  • QRコードの検出(CIDetector)
  • カメラのフォーカスなどのマニュアル制御
  • アクション付きのNotificationBar
  • Widget

Extensibilityなど、もともとiOS 7との互換性を考える必要がないものは除外した。
他にも、SDKの機能ではないがTestFlightを使った最終動作確認が全端末で可能になる。

[その他]iOS 7のことは考えなくてもよいが、相変わらず素直には使えない機能

  • Touch IDを利用した認証 – Touch ID未対応端末が依然多くあるため。そのうちの多くがiOS 9にも対応しているため、少なくとも当面の間Touch IDは「なくても困らない」補助的な使い方に限定されるだろう

[メリット]iOS 7のことを考えないことで実装がシンプルになる部分

  • 通知周り – iOS 7 と iOS 8で実装方法が異なっていたため
  • UIAlertController – ブロックを使ったわかりやすいアラートの実装が可能に

コールバックをブロックで記述できるUIAlertControllerを使うと、ソースコードが大分すっきりするのでありがたい。BlocksKitとUIAlertViewの組み合わせでもよいのだけど、UIAlertControllerの場合は公式であることに加えて、要素が増えて見た目をActionSheetに変えたくなった時にパラメータ変更だけで対応できるというメリットも。

Pocket

コメントを残す

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