Monaca
テクノロジー
ノウハウ・TIPS

Monacaで開発するアプリで対応しているOSの最小バージョンについて

Monacaチームの小田川です。

Monacaで利用しているCordovaでは、対応するOSの最小バージョンが設定されています。詳しくは、こちらを参照してください。

Cordovaが対応するOSの最小バージョンは、ビルド時に使用されるAndroidプラットフォームやiOSプラットフォームで決められており、Cordova 10で提供されているAndroidプラットフォーム9系では、Android 5.1(APIレベル22)、iOSプラットフォーム6系では、iOS 11が設定されています。

Cordovaでは、OSの最小バージョンを設定するためのオプションが用意されています。

OSの最小バージョンの設定方法

OSの最小バージョンの設定は、Monacaプロジェクトのルートにある config.xmlやCordovaプラグイン内にあるplugin.xmlから設定することができます。config.xmlから設定を行う場合は、android-minSdkVersiondeployment-targetを使用することで設定することができます。詳しくは、こちらを参照していください。

<!-- config.xmlの設定例 -->
<platform name="android">
  <preference name="android-minSdkVersion" value="23" />
</platform>
<platform name="ios">
  <preference name="deployment-target" value="12.0" />
</platform>

MonacaクラウドIDEから有効にできるcordova-custom-configのようなサードパーティー製Cordovaプラグインからも下記のように設定することで対応するOSの最小バージョンを設定することができます。

<!-- config.xmlの設定例 -->
<platform name="android">
  <custom-preference name="android-minSdkVersion" value="23" />
</platform>
<platform name="ios">
  <custom-preference name="ios-XCBuildConfiguration-IPHONEOS_DEPLOYMENT_TARGET" value="12.0" />
</platform>

OSの最小バージョンを設定する際の注意点

対応するOSの最小バージョン設定は、各プラットフォームに設定されているバージョンよりも後継バージョンを設定することができます。旧バージョンを設定することはできません。

Monacaでは、Cordovaのバージョンごとに利用できるプラットフォームのバージョンが設定されています。

MonacaプロジェクトにOSの最小バージョンが設定されている状態でCordovaバージョンをアップグレードした場合、Monacaプロジェクトに設定されているOSの最小バージョンが、アップグレードしたCordovaバージョンで利用できるプラットフォームでは対応していない場合があります。

Monacaプロジェクトにプラットフォームで設定されているOSの最小バージョンよりも旧バージョンが設定されている場合、ビルド時に下記のようなビルドエラーが発生します。そのため、MonacaプロジェクトにOSの最小バージョンが設定されている状態でCordovaバージョンをアップグレードする場合には、注意が必要になります。

<!-- config.xmlの設定例:Androidの場合 -->
<platform name="android">
  <preference name="android-minSdkVersion" value="21" />
</platform>
// エラー例:Cordova 10の場合
Manifest merger failed : uses-sdk:minSdkVersion 21 cannot be smaller than version 22 declared in library [:CordovaLib] /tmp/download/platforms/android/CordovaLib/build/intermediates/library_manifest/debug/AndroidManifest.xml as the library might be using APIs not available in 21
<!-- config.xmlの設定例:iOSの場合 -->
<platform name="ios">
  <preference name="deployment-target" value="10.0" />
</platform>
// エラー例:Cordova 10の場合
/tmp/download/platforms/ios/xxxxxx/CDVLaunchScreen.storyboard:Ze5-6b-2t3: error: Named colors do not work prior to iOS 11.0. [12]

おわりに

MonacaプロジェクトのCordovaバージョンをアップグレードした後に、OSのバージョンに関するビルドエラーが発生した場合は、対象のMonacaプロジェクトにOSの最小バージョン設定が行われていないか確認してみてください。

author img for keiji_asial

keiji_asial

前の記事へ

次の記事へ

一覧へ戻る
PAGE TOP