14
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

2020年4月以降のiOSアプリ申請について

Last updated at Posted at 2020-01-26

2020年4月以降からは、 App Storeに提出されるすべてのiOSアプリは、iOS 13 SDK以降でビルドする必要があります。詳しくは、App StoreにAppを提出するを参照してください。

「App StoreにAppを提出する」には記載されていませんが、「WWDC 2019」で以下の要件が発表されています。

・ Adopt Launch StoryBoards
・ Support any size
・ Support Split Screen Multitasking

詳しくは、Modernizing Your UI for iOS 13 - WWDC 2019 - Videos - Apple Developer を参照していください。

iOS 13 SDK以降でビルドする

iOS 13 SDK以降でビルドする場合は、Xcode 11系でビルドを行う必要があります。Monacaでは、Cordova 9.0プロジェクトを使用することで、Xcode 11系でビルドを行うことができます。

MonacaクラウドIDEから新規でプロジェクトを作成した場合は、Xcodeの標準設定は Xcode 11.3 に設定されています。

既存のCordovaプロジェクトの場合は、MonacaクラウドIDEのメニューにある

ビルド > ビルド環境の設定 > Xcode

から、Xcode 11.3 を選択して、保存 ボタンをクリックすることで、対象プロジェクトをiOS 13 SDK以降でビルドすることが可能になります。

Adopt Launch StoryBoards 対応

Monacaプロジェクトで Launch StoryBoard に対応する場合は、MonacaクラウドIDEのメニューにある

設定 > iOSアプリ設定 > スプラッシュスクリーン > オートリサイズモード

を選択し、対応した画像を設定することで、StoryBoard に対応することができます。

Support any size 対応

any size(全ての画面サイズ)に対応する場合は、Adopt Launch StoryBoards 対応 の設定を行うことで対応することができます。

Support Split Screen Multitasking 対応

アプリの対象に iPad が含まれている場合は、マルチタスクでのスプリットスクリーンに対応する必要があります。

Cordova 9.0のiOSアプリの標準設定では、フルスクリーン設定になっているため、スプリットスクリーンには対応していません。スプリットスクリーンに対応する場合は、config.xmlに下記の設定が必要になります。

config.xml
<platform name="ios">
  <edit-config file="*-Info.plist" mode="merge" target="UIRequiresFullScreen">
    <string>false</string>
  </edit-config>
</platform>

次に、Adopt Launch StoryBoards 対応 の設定を行い、Device Orientationを全ての方向に対応させます。Device Orientationを全ての方向に対応させる場合は、concig.xmlに下記の設定を行います。

config.xml
<platform name="ios">
  <preference name="orientation" value="all"/>
</platform>

WKWebView 対応

2019年12月23日に発表された情報では、2020年4月以降、新規でアプリを提出する場合は、WKWebView対応が必須になるようです。既存のアプリでは、2020年12月以降にアプリを更新する場合は、WKWebViewに対応する必要があるようです。詳しくは、Updating Apps that Use Web Viewsを参照してください。

2020年1月26現在のMonacaで使用されているCordova 9.0のiOSプラットフォームのバージョンは、5.0.1 になります。

WKWebView対応を行うためには、iOSプラットフォーム 5.1.1 を使用する必要があります。

Monacaでは、Cordova 9.0プロジェクトを使用することで、iOSプラットフォーム 5.1.1 を使用してビルドを行うことができます。

Cordova 9.0プロジェクトで iOSプラットフォーム 5.1.1 を使用する場合は、MonacaクラウドIDEのメニューにある

ビルド > ビルド環境の設定 > Platform

から、iOS 5.1.1 を選択して、保存 ボタンをクリックすることで、対象プロジェクトを iOSプラットフォーム 5.1.1 でビルドすることが可能になります。

次に、MonacaクラウドIDEのメニューにある

設定 > Cordovaプラグインの管理

から、cordova-plugin-wkwebview-engine をインポートします。

iOSプラットフォーム 5.1.1 の設定を行い、cordova-plugin-wkwebview-engine をインポートしたら、下記の設定例のようにconfig.xmlに設定を行います。

config.xml(設定例)
<platform name="ios">
  <preference name="WKWebViewOnly" value="true" />

  <feature name="CDVWKWebViewEngine">
    <param name="ios-package" value="CDVWKWebViewEngine" />
  </feature>
  <preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
</platform>

これまでのUIWebViewとWKWebViewでは仕様が異なるため、UIWebViewからWKWebViewへ変更した際に、アプリの動作に違いが生じる場合があります。

現在開発中のアプリでWKWebViewを使用していない場合は、cordova-plugin-wkwebview-engine を使用して、WKWebView対応が必須になる前に、事前に動作確認を行う必要があります。

おわりに

App StoreへiOSアプリを提出する際の必要要件は、定期的に更新されます。対象のアプリが必要要件を満たしているか、一度、確認してみてください。

14
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?