[iOS 7]しっかり認識合わせておきたいiOS 7対応について

こんにちは!おおはしりきたけです。iOS 7がリリースされ、もうすぐ1ヶ月が経過しようとしています。だいぶiOS 7のUIも見慣れてきて、新たしい機能も使いこなせている頃だと思います。さて、最近では、iOS 7対応という言葉がよく出てきます。私自身営業を主にやっているので、iOS 7対応という言葉をよく耳にします。今日はiOS 7対応について整理させていただきます。

はじめに

iOS 7対応といって、最初に思い浮かべるのは何でしょう?iOS 7の端末で今のアプリが動けば良いという認識で、ホイホイ受けたりしていませんか?まずはiOS 7対応という言葉の定義をしっかり把握し、お客様やチームと認識を合わせる必要があります。iOS 7対応で考えられる対応には、以下の様なものがあります。

  • 現在のアプリがそのままiOS 7で動く(SDK変更なし)
  • iOS 7のSDKで現在のアプリを再ビルド
  • iOS 7のフラットデザインに合わせ、UIの変更をする
  • iOS 7の新機能(マルチタスキング、iBeacon等)に対応させる

それぞれ内容について解説させていただきます。

現在のアプリがそのままiOS 7で動く(SDK変更なし)

この作業は、これから申請を出すアプリについては必須になります。機能追加などで申請しようとしたら、iOS 7で動かない場合リジェクトされます。その為、まずは最低限、現在リリースしているアプリ、iOS 6の時に開発していたアプリを新たに申請に出す場合、まずは、iOS 7での動作確認を行い、さらにアイコンファイルの追加も必要です。アイコンファイルについては、[iOS 7] iOSアイコンファイル早見表(2013/9)を見ていただければと思います。

iOS 7のSDKで現在のアプリを再ビルド

Appleは審査基準を定期的に変更します。最近変更による、有名なリジェクト例としては、「Non-PIE Binary」というのがあります。対応内容はこちらのビルド設定で対応できます。基本的にiOSアプリは最新のSDKでビルドされている必要があり、今回のiOS 7リリースにより、最新のSDKでビルドされていないと、リジェクトされる可能性もあります。その為、定期的にアプリをアップデートしている場合は、こちらの対応をしておいたほうが良いでしょう。

iOS 7のフラットデザインに合わせ、UIの変更をする

iOS 7ではUIに大幅な変更が加わり、フラットデザインになりました。まずiOS 7対応をやっているとレイアウト崩れが発生することが多々あります。こちらは、iOS 5などでAutoLayoutを利用していない場合などでレイアウト崩れが発生することがあります。また、iOS 7からステータスバーの背景とナビゲーションバーが一体化したので、ViewControllerで制御しなければならないなど、細かい対応は、色々あります。iOSのアプリのUIは、原則としてiOS Human Interface Guidelinesに則っている必要があります。

iOS 7の新機能(マルチタスキング、iBeacon等)に対応させる

既存のアプリに新しい機能を投入していきたいということは、多々あると思います。マルチタスキング、iBeacon、P2Pなど既存のアプリにつけたいという要望もでることでしょう。そのためには、iOS 7の新機能対応というのが、上記の作業以外に必要になります。

まとめ

iOS 7対応と言っても、上記のような対応内容があります。どのような対応を行いたいのかしっかり、ヒアリングしないで「わかりました!iOS 7対応ですね!」といって受けてしまうと開発者が大変なことになりかねないので、どのような対応を想定しているのかを必ず確認しましょう。とくにiOS 7SDKでの対応については、実際にアプリの全動作確認を行わないと、どのくらいの対応ボリュームになるのかは、把握できないと思います。しっかり確認を行い、適切なiOS 7対応を行っていきましょう。

参考

以下を参考にさせていただきました。

新審査基準、PIE Binary とは

https://developer.apple.com/library/ios/qa/qa1788/_index.html