コラム一覧へ

2015年3月アーカイブ

新たにスマホアプリを開発するときに、対応OSの範囲をどうすべきかをまとめました。

5D3_3969s.JPG

 

【iPhoneアプリはiOS 6~8のサポートが現実的】

ストアにアプリを公開する場合は、iPhoneもAndroidもまず最新のOSをサポートし、無理の無い範囲で古いOSもサポートすることが基本となります。

iPhoneアプリの場合、開発ツールXcodeに配布ターゲットの設定があり、ここにアプリがサポートする最も古いOSのバージョンを指定します。このコラムを書いている時点の最新のXCode 6.2では配布ターゲットにiOS6.0~8.2が選択できます。

iOS6は2012年9月リリースなのでiOS6以降だとサポート範囲が狭いように感じますが、少なくともApp Storeにアクセスするデバイスの99%以上はiOS6以上になっているようですのでiOS6以上がサポートできれば十分と考えることになります。

iOS 6はiPhoneもiPadも一番古い機種を除き全ての機種にインストールできます。(具体的にはiPhone 3GS以降、iPad2以降)

もちろん古い開発ツールを利用すれば古いOSに対応するアプリが作成できますが、最新OSへの対応は出来ないため、アプリを2つにする必要があり、App Storeにアプリを申請するには、最新OS(時期によっては1つ前のOSも可)に対応している必要があるので、この方法は現実的ではありません。

【Androidは古いOSに対応可能。機能とサポート範囲のバランスを考えて選択】

Androidアプリの場合も開発ツールにminSdkVersionという設定があり、アプリがサポートする最も古いOSのバージョンを指定できます。Androidは新しいOSのアップデートが提供されない機種が多く、古いOSを使うユーザーが残りやすいのですが、古いOSで新しい機能が利用できるサポートライブラリが提供されており、少々の制約はありますが、アプリが古いOSに対応しやすい状況です。

以下はアプリがサポートするOSバージョンの代表的な例です。

 ・v8(Android 2.2)以上(約100%)

 ・v9(Android 2.3)以上(約99.5%)

 ・v14(Android 4.0)以上(約90.4%)

 ※カッコ内のパーセント表示は、Google Playストアにアクセスするデバイスのサポート割合(本コラム執筆時点。開発ツールAndroid Studioの表示より転記)です。V8(Version 2.2)以上をサポートすると、Google Playストアにアクセスするほぼ100%のデバイスをサポートできることになり、V9(Version 2.3)以上をサポートすると99.5%、V14(Version 4.0)以上では90.4%のデバイスをサポートできます。

対応バージョンは、アプリの目的に応じて機能とサポート割合のバランスを考えて決定します。最近のOSにすればするほど開発時に新機能が扱いやすく、その代わりにアプリを利用できないデバイスが増えていくのです。

私たちの提供しているスマホがポイントカードになるアプリ(Cardfeel)は、機能の拡充よりも多くの機種で動くことが求められると判断し、V8(Android 2.2)以上を選択しています。

最近リリースされるアプリではV14(Android 4.0)以上を選択することが増えてきているようです。

【企業内でアプリを配布する場合】

企業内(In house)のアプリを開発する場合は、App Storeの制約はないので、iPhoneアプリであっても対応OSを自由に決めることができます。

ただしサポート範囲を広げれば広げるほど、使える機能(API)は限定されるうえに、開発コスト(特にテストの作業規模)が増えるので、できる限り狭い範囲にするのが通例です。OSをアップグレードできない古いデバイスを利用する場合を除き、できるだけOSのバージョンを統一することでコストを節約できます。


« 2014年12月 | メインページ | 2015年4月 »

お問い合わせ

システムやアプリの開発のご相談、サービスに関するご質問など、どのようなことでもお気軽にお問い合わせください。