iOSプラットフォームガイド

このガイドでは、iPhoneやiPadなどのiOSデバイスにCordovaアプリをデプロイするためのSDK開発環境のセットアップ方法と、開発ワークフローでオプションとしてiOS中心のコマンドラインツールを使用する方法について説明します。プラットフォーム中心のシェルツールとクロスプラットフォームのCordova CLIのどちらを開発に使用する場合でも、SDKツールをインストールする必要があります。2つの開発パスの比較については、概要を参照してください。CLIの詳細については、Cordova CLIリファレンスを参照してください。

要件とサポート

iOSアプリケーションの構築に使用されるApple®ツールは、macOS環境内でのみ動作します。iOSアプリケーション開発の主要ツールであるXcode®には、iOS SDK(Software Development Kit)が組み込まれています。Apple App Store℠に提出するには、これらのAppleツールの最新バージョンを使用してアプリをビルドする必要があります。

iOS SDKとXcodeに統合されているiOSシミュレーターを利用することで、多くのCordova機能を評価できます。ただし、アプリのデバイス固有の機能をすべてテストするには、App Storeに最終的に提出する前に、実際のデバイスが必要です。

以下の表は、バージョン別のCordova-iOSの前提条件の概要を示しています。さらに、Xcodeには独自のシステム要件があり、確認のために最小要件とサポートされているSDKのドキュメントを参照することをお勧めします。

Cordova-iOSバージョン iOS最小サポート ツーリングバージョン
7.x 11.0
  • Cocoapods: >=1.8.0
  • ios-deploy: >=1.9.2
  • Node: >=16.13.0
  • Xcode (xcodebuild): >=11.0.0
6.x 11.0
  • Cocoapods: >=1.8.0
  • ios-deploy: >=1.9.2
  • Node: >=10.0.0
  • Xcode (xcodebuild): >=11.0.0
5.x 10.0
  • Cocoapods: >=1.0.1
  • ios-deploy: >=1.9.2
  • Node: >=6.0.0
  • Xcode (xcodebuild): >=10.0.0

要件のインストール

Xcode

Xcodeをダウンロードするには、2つの方法があります

  • App Storeから、「App Store」アプリケーションで「Xcode」を検索して入手できます。

  • Apple Developer Downloadsから、Apple Developerとしての登録が必要です。

Xcodeをインストールしたら、Cordovaを実行するためにいくつかのコマンドラインツールを有効にする必要があります。コマンドラインから、以下を実行します

$ xcode-select --install

`xcode-select --install`

ios-deployツールを使用すると、コマンドラインからiOSデバイスでiOSアプリを起動できます。

Homebrewを使用してios-deployをインストールするには、以下を実行します

$ brew install ios-deploy

`brew install ios-deploy`

iOSアプリをビルドするには、CocoaPodsツールが必要です。最小バージョン1.8.0が必要ですが、常に最新リリースをお勧めします。

CocoaPodsをインストールするには、コマンドラインターミナルから以下を実行します

$ sudo gem install cocoapods

`sudo gem install cocoapods`

プロジェクトの設定

Xcodeをインストールすると、ネイティブ側の作業を開始するために必要なものがほとんど設定されます。これで、cordovaプロジェクトを作成してビルドできるはずです。CLIのインストールと使用の詳細については、最初のアプリを作成するガイドを参照してください。

シミュレーターへのデプロイ

  1. iOSシミュレーターでアプリをプレビューするには

     $ open ./platforms/ios/HelloWorld.xcworkspace/
    
  2. Xcodeから、またはコマンドラインからワークスペースファイル( `platforms/ios/HelloWorld.xcworkspace`)を開きます

  3. `open platforms/ios/HelloWorld.xcworkspace`

  4. 左パネル(1)で `HelloWorld` プロジェクトが選択されていることを確認します。

    ツールバーの **スキーム** メニューから目的のデバイスを選択します。(2)で強調表示されているiPhone XRシミュレーターなど

**スキーム** の左にある同じツールバーの **実行** ボタン(3)を押します。これにより、アプリケーションがシミュレーターでビルド、デプロイ、および実行されます。アプリを表示するために別のシミュレーターアプリケーションが開きます

一度に実行できるシミュレーターは1つだけなので、別のシミュレーターでアプリをテストする場合は、シミュレーターアプリケーションを終了し、Xcode内で別のターゲットを実行する必要があります。

Xcodeには、最新バージョンのiPhoneとiPad用のシミュレーターがバンドルされています。古いバージョンは、**Xcode→環境設定…→コンポーネント** パネルから入手できる場合があります。

  1. デバイスへのデプロイ

  2. デバイスにデプロイするためのさまざまな要件の詳細については、Appleのアプリ配布ワークフローについての「デバイスでアプリを起動する」セクションを参照してください。簡単に言うと、デプロイする前に以下を行う必要があります

iOSプロビジョニングポータル内に *プロビジョニングプロファイル* を作成します。その *開発プロビジョニングアシスタント* を使用して、Xcodeが必要とするプロファイルと証明書を作成およびインストールできます。

  1. ビルド設定内の *コード署名* セクション内の *コード署名ID* 設定が、プロビジョニングプロファイル名に設定されていることを確認します。

  2. デバイスにデプロイするには

  3. USBケーブルを使用して、デバイスをMacに接続します。

  4. Xcodeウィンドウの **スキーム** ドロップダウンリストからプロジェクトの名前を選択します。

**デバイス** ドロップダウンリストからデバイスを選択します。USB経由で接続されているが表示されない場合は、**オーガナイザー** ボタンを押してエラーを解決します。

**実行** ボタンを押して、デバイスにアプリケーションをビルド、デプロイ、および実行します。

アプリの署名

最初に、コード署名サポートページアプリ配布ワークフローをよく読んでください。

フラグの使用 アプリに署名するには、次のパラメーターが必要です パラメーター
フラグ 説明 コード署名ID
`--codeSignIdentity` 署名に使用するコード署名ID。Xcodeで作成し、キーチェーンに追加できます。Xcode 8以降では、 `debug` と `release` の両方で `--codeSignIdentity="iPhone Developer"` を使用する必要があります。 開発チーム
`--developmentTeam` コード署名に使用する開発チーム(チームID)。この設定と簡略化されたコード署名ID(つまり、「iPhone Developer」のみ)を使用してアプリに署名します。プロビジョニングプロファイルを提 供する必要はありません。 パッケージタイプ
`--packageType` これは、Xcodeによって生成されるビルドのタイプを決定します。有効なオプションは、 `development` (デフォルト)、 `enterprise` 、 `ad-hoc` 、および `app-store` です。 プロビジョニングプロファイル
`--provisioningProfile` (オプション)手動署名に使用されるプロビジョニングプロファイルのGUID。Macのここにコピーされます: `~/Library/MobileDevice/Provisioning\ Profiles/`。テキストエディターで開くと、手動署名を使用する場合にここで指定する必要があるGUIDが見つかります。 自動プロビジョニング
`--automaticProvisioning` (オプション)Xcodeがプロビジョニングプロファイルを自動的に管理できるようにするには、有効にします。有効なオプションは、 `false` (デフォルト)と `true` です。 認証キーパス
`--authenticationKeyPath` (オプション) 自動配布署名のための、App Store Connect API p8キーファイルへのパス。 認証キーID
`--authenticationKeyID` (オプション) 自動配布署名のための、App Store Connect APIキーファイルのキーID。 認証キー発行者ID

`--authenticationKeyIssuerID`

(オプション) 自動配布署名のための、App Store Connect API資格情報の発行者ID値。

これらのパラメーターは、上記のCordova CLI `build` または `run` コマンドにコマンドライン引数を使用して指定できます。.

**注**:プラットフォーム固有の引数であることを示すために、二重の `--` を使用する必要があります。例:

`cordova run ios --release -- --codeSignIdentity="iPhone Developer" --developmentTeam=FG35JLLMXX4A --packageType=development`

`build.json` の使用

{
    "ios": {
        "debug": {
            "codeSignIdentity": "iPhone Developer",
            "developmentTeam": "FG35JLLMXX4A",
            "packageType": "development",
            "automaticProvisioning": true
        },
        "release": {
            "codeSignIdentity": "iPhone Developer",
            "developmentTeam": "FG35JLLMXX4A",
            "packageType": "app-store",
            "automaticProvisioning": true,
            "authenticationKeyPath": "/path/to/AuthKey_D383SF739.p8",
            "authenticationKeyID": "D383SF739",
            "authenticationKeyIssuerID": "6053b7fe-68a8-4acb-89be-165aa6465141"
        }
    }
}

または、これらのフラグをビルド構成ファイル(デフォルト: `build.json`)で指定するか、同じコマンドに `--buildConfig` フラグを追加して、他のファイル名(例: `cordova build ios --buildConfig=../customBuild.json`)を使用できるようにすることもできます。ビルド構成ファイルの例を次に示します

{
    "ios": {
        "debug": {
            "codeSignIdentity": "iPhone Development",
            "provisioningProfile": "926c2bd6-8de9-4c2f-8407-1016d2d12954",
            "developmentTeam": "FG35JLLMXX4A",
            "packageType": "development"
        },
        "release": {
            "codeSignIdentity": "iPhone Distribution",
            "provisioningProfile": "70f699ad-faf1-4adE-8fea-9d84738fb306",
            "developmentTeam": "FG35JLLMXX4A",
            "packageType": "app-store"
        }
    }
}

Xcodeによってプロビジョニングプロファイルが自動的に管理される自動署名の場合(推奨)

```

UUIDでプロビジョニングプロファイルを指定する手動署名の場合

cordova build --device --buildFlag="MYSETTING=myvalue" --buildFlag="MY_OTHER_SETTING=othervalue"
cordova run --device --buildFlag="DEVELOPMENT_TEAM=FG35JLLMXX4A" --buildFlag="-scheme TestSchemeFlag"

```

コマンドライン引数と `build.json` のパラメーターを混在させて一致させることもサポートされています。コマンドライン引数の値が優先されます。

Xcodeビルドフラグ

Xcodeに追加のビルドフラグを渡す必要があるカスタム状況がある場合は、1つ以上の `--buildFlag` オプションを使用してこれらのフラグを `xcodebuild` に渡します。 `xcodebuild` 組み込みフラグを使用すると、警告が表示されます。

上記の `build.json` に `buildFlag` オプションを指定することもできます( `buildFlag` キーの値は文字列または文字列の配列です)。

デバッグ

Xcodeに付属のデバッグツールの詳細については、この記事記事とこのビデオを参照してください。

$ open -a Xcode platforms/ios

Xcode内でプロジェクトを開く

Cordova for iOSプロジェクトは、Xcodeで開くことができます。これは、Xcodeに組み込まれているデバッグ/プロファイリングツールを使用する場合、またはiOSプラグインを開発する場合に役立ちます。Xcodeでプロジェクトを開く場合は、IDEでコードを編集しないことをお勧めします。これは、プロジェクトの `platforms` フォルダー( `www` ではない)のコードを編集し、変更は上書きされる可能性があります。代わりに、 `www` フォルダーを編集し、 `cordova build` を実行して変更をコピーします。

IDEでネイティブコードを編集したいプラグイン開発者は、 `cordova plugin add` 経由でプロジェクトにプラグインを追加するときに `--link` フラグを使用する必要があります。これにより、ファイルがリンクされ、 `platforms` フォルダー内のプラグインファイルへの変更がプラグインのソースフォルダーに反映されます(逆も同様です)。

以下のスクリプトそれぞれについて、引数と使用方法の詳細情報は、Cordova CLI リファレンスを参照してください。各スクリプトには、対応する CLI コマンドと同じ名前が付けられています。たとえば、cordova-ios/bin/createcordova create と同等です。

開始するには、npm または Github から cordova-ios パッケージをダウンロードしてください。

このパッケージを使用してプロジェクトを作成するには、bin フォルダ内の create スクリプトを実行します。

$ cordova-ios/bin/create ...

アプリを実行するには、bin フォルダ内の run スクリプトを使用します。

$ cordova-ios/bin/run

作成されたプロジェクトには、プロジェクト固有の Cordova コマンド(例:runbuild など)のスクリプトを含む cordova という名前のフォルダがあります。

このプロジェクトにプラグインをインストールするには、Cordova Plugman ユーティリティを使用します。

アップグレード

cordova-ios バージョンをアップグレードする手順については、こちらの記事を参照してください。

(Mac®、OS X®、Apple®、Xcode®、App Store℠、iPad®、iPhone®、iPod®、および Finder® は、Apple Inc. の商標です。)