拙作のツクールMV製「愛されるより逃れたい」も無事にアップデートを重ね、
AndroidやiOSのアプリ化についてノウハウが溜まってきましたので、記事にしたいと思います。

今回はiOSアプリの構築編です。

iOSのアプリ化ではcordovaを使用します。
ただ、動作がちょっともっさりしているのと、バックグラウンドに移行したあとゲームに復帰すると処理が遅くなる現象が発生します。

これはデフォルトで使用している UIWebViewというコンポーネントが原因となっており、これはiOS8以上で使用できる WKWebView にすると解決できます。

この記事ではそのWKWebViewの導入方法を記します。

ツクールのヘルプに載っていることは説明しません。以下のことができていることを前提としているのでご注意ください。

  • RPGツクールMVのヘルプに記述されている「資料集 > iOSへの変換」の項目で $ cordova build を実施し、iOS上でゲームの動作を確認するところまでできていること
  • Xcode等のセットアップが済んでいること

 

なお、筆者のプロジェクト構成は以下のようになっています。(プロジェクト名はPluginSampleとしています)
mv_ios_01
(ちょっと小技参照*)

WKWebViewの導入

さて、WKWebViewの導入には cordova のプラグインを用います。

2016年1月時点では cordova iOS は 4.0.1 が最新となっていて、これと公式で紹介されている cordova-plugin-wkwebview-engine を導入する方法があります。
しかしながら、私の環境では正常に動作させることができませんでした……。ツクール側で [Error Your browser does not allow to read local files.] のエラーが吐かれます。

ですが、他にもプラグインが用意されています。これならうまく動作しました。
Cordova WKWebView Polyfill Plugin

これを利用する場合は cordova iOS のバージョンが 3.x でないと競合してしまうらしいので、cordova iOS のバージョンが 4.0以降の場合は一旦削除し、3.9.2 を導入します。
(Xcodeのプロジェクトファイルをすでにいじっている場合、ファイルが削除されてしまうため、バックアップをとってから削除すること)

$ cd [cordovaプロジェクトディレクトリ(例ではXCodeProject)]

で移動した後、

$ cordova platform remove ios
$ cordova platform add ios@3.9.2

その後、プラグインを導入します。

$ cordova plugin add cordova-plugin-wkwebview

すると、プラグインは以下の様な状態になるはず。

$ cordova plugin --list
com.telerik.plugins.wkwebview 0.6.7 "WKWebView Polyfill"
cordova-plugin-webserver 1.0.3 "CordovaWebServer"
cordova-plugin-whitelist 1.2.1 "Whitelist"

次に、config.xml に以下を追加します。

<allow-navigation href=”http://localhost/*” />

mv_ios_02

後は $cordova build して、Xcodeのプロジェクトファイルを開きます。
プロジェクトファイルは、platforms/ios/プロジェクト名.xcodeproj にあります。

Deployment Target を 8.0 にしておきましょう。
mv_ios_03

また、ビルド時に以下のようなエラーが出た場合、
mv_ios_04

Bitcode を無効にします。
mv_ios_05

これでビルドが成功すると、実機でもいい感じに動作すると思います。
mv_ios_06

なお、WKWebViewで動作しているかはXcodeの出力コンソールで確認できます。
mv_ios_07

 

アイコンやスプラッシュ画像

platforms/ios/プロジェクト名/Resources に各アイコンやスプラッシュ画像のリソースがあるので、これを差し替えます。

ただ、スプラッシュ画像は横向きなのに縦用のものが使用されたりするため、
プロジェクトファイルから Launch Images SourceUse Asset Catalog で作成したほうがいいかもしれません。

ビルド番号

Version と Build は cordova の config.xml の内容が反映され、cordova build するたびに書き換わります。
新規の時はいいのですが、バージョンアップする際は忘れずに config.xml のバージョン番号を書き換え、アップロード前にはXcodeでしっかりと確認しておきましょう。

ちょっと小技

ツクールでデプロイをする際、プロジェクトフォルダ内のファイルやフォルダが一部を除いて全コピーされてしまいます。これでは、知らぬ間に一緒に置いていた関係のないファイルが含まれてアプリ化されてしまうかもしれないし、無駄な削除作業が発生します。(デプロイにも時間がかかるようになる)

しかしこのデプロイ処理では、隠しフォルダはコピーされません。これを利用し、Macでは.から始まるディレクトリは隠し属性が付くことから、ここでは.exportディレクトリを作成しています。(Finder上で見られなくなるので、隠しファイルを表示する小技を使う) Windows環境ではプロパティから隠しフォルダにしておきます。

こうすることで、ひとつのプロジェクトフォルダ内でAndroidやXcodeのプロジェクトファイルも含めることができ、バージョン管理などが行いやすくなります。.documentsディレクトリなども作成しておくと、仕様書などが保管できていいかと思います。

 

この記事でMV作品のアプリ化を目指している方のお力になれれば幸いです。