Apache Cordova環境を作成する

isoのプロトタイプアプリを作成するために、macにcordova環境を作成します。

利用環境は以下の通り
– MacOS Mojave(10.14.5)
– Node.js(10.16.0)
– Xcode(10.2.1)

Node.jsのインストール
ここからNode.jsダウンロードし、インストールします。

Xcodeのインストール
AppStoreから「Xcode」を検索し、インストールします。

Cordovaのインストール
Node.jsのnpmを用いて、Cordovaをインストールします。
「ターミナル」から以下のコマンドを実行します。
$ sudo npm install -g cordova
インストールが完了したら、バージョンを確認してみます。
$ cordova -v
9.0.0 (cordova-lib@9.0.1)

Cordovaプロジェクトの作成
Cordovaのプロジェクトを作成します。
私は/Users/[ユーザー名]/Documents/srcフォルダ内に作成します。
srcフォルダ移動後、以下のコマンドを実行します。
# cordova create ディレクトリー 識別子 アプリ名
$ cordova create SampleCordova com.example.SampleCordova SampleCordova
これでSampleCordovaのプロジェクトを作成しました。

プロジェクトフォルダに移動します。
$ cd SampleCordova

プラットフォームの追加
SampleCordovaで使用するプラットフォーム(iOSやAndroid、WindowsPhoneなど)を追加します。ここではiOSのみを追加します。
$ cordova platform add ios

利用するプラグイン等々を追加します。
$ cordova plugin add cordova-plugin-add-swift-support --save
$ cordova plugin add cordova-plugin-qrscanner
$ cordova plugin add cordova-plugin-inappbrowser
$ cordova plugin add cordova-plugin-dialogs

iOS Simulatorのインストール
実行させるためのSimulatorをインストールします
$ sudo npm install -g ios-sim

プロジェクトのビルド
Simulatorで実行できるようにプロジェクトのビルドをします。
$ cordova build

Simulatorの実行
Simulatorを実行します。
$ cordova emulate ios
Simulatorが起動し、Cordovaのアプリが表示されます。

Xcodeプロジェクト
プラットフォームにiOSを追加するとXcodeのプロジェクトファイルが生成されます。/Users/[ユーザー名]/Documents/src/SampleCordova/platforms/iosのフォルダに格納されているため、Xcodeを用いてビルド、Simulatorの起動等も行えます。

ですが、Xcode10.2.1ではSwift3以前がサポートされていないようで、Cordovaで生成したソースがビルドできません。そのため、プロジェクトフォルダにあるconfig.xmlやXcodeのビルド設定を見直します。
/Users/[ユーザー名]/Documents/src/SampleCordova/config.xml
<platform name=”ios”>記載部分に以下のように追加します。

<platform name="ios">
    <allow-intent href="itms:*" />
    <allow-intent href="itms-apps:*" />
    <preference name="UseLegacySwiftLanguageVersion" value="true" />
    <preference name="UseSwiftLanguageVersion" value="5" />
</platform>

次に、Xcodeのビルド設定を見直します。/Users/[ユーザー名]/Documents/src/SampleCordova/platforms/ios/SampleCordova.xcodeprojをクリックしてXcodeを起動します。そのあと、プロジェクトを選択し、TARGETS -> Build Settings -> Swift Compiler -> Swift Language Version を 4.2に変更します。

あとは、Xcodeからビルドし、エミュレータ実行が可能になります。