環境固有の設定の作成
プラットフォーム: iOS, Android
多くのソフトウェア開発チームは、ソフトウェア開発のライフサイクルの中で、異なる環境を利用しています。バンドルID、ディープリンクスキーム、アイコンやスプラッシュスクリーンなど、環境間で設定が異なる場合があります。
Capacitorの設定ファイルは、Capacitorツールおよびプラグイン設定のための高レベルのオプションを処理します。iOSスキームとAndroidプロダクトフレーバーにより、開発者は異なる環境に対して異なるアプリの値を提供することができます。この2つを組み合わせることで、開発者はCapacitor CLIを使用して異なる環境用のアプリを構築することができます。
このガイドでは、箱から出してすぐに提供されるデフォルトの環境設 定と一緒に、QA環境設定を行う方法を説明します。各環境の違いを示すために、アプリ名とバンドルIDは両者で異なります。
Capacitorアプリを用意する
iOSとAndroidの両方のプラットフォームが追加されたCapacitorアプリが必要です。両方のプラットフォームが追加された既存のCapacitorアプリをお持ちの場合は、このセクションをスキップしてください。
お好みに応じて、既存のWebアプリケーションにCapacitorを追加する か、Ionic Frameworkで新しいCapacitorアプリケーションを作成する かのどちらかを選択できます。
Capacitorアプリは、設定にTypeScriptを使用する必要があります。このガイドでは、capacitor.config.ts
を使用して、さまざまな設定を動的にエクスポートします。
プロジェクトにネイティブ・プラットフォームを追加する前に、少なくとも一度はCapacitorアプリをビルドする必要があります。
npm run build
ビルドが完了したら、プラットフォームを追加することができます。
npm install @capacitor/ios @capacitor/android
npx cap add ios
npx cap add android
新しいiOSスキームをセットアップする
新しい Xcode ターゲットを作成する
まず、Xcode でネイティブの iOS プロジェクトを開きます。 npx cap open ios
.
- プロジェクトナビゲータパネルで、プロジェクトの設定に移動します。ターゲット(Targets)セクションで、"App "ターゲットを右クリックし、Duplicateを選択して、既存のターゲットをコピーします。
-
- 新しい "App copy "ターゲットをクリックし、
Enter
キーを押して名前を変更します。ターゲットの名前を "App QA "に設定してください。
- 新しい "App copy "ターゲットをクリックし、
この処理により、追加の "App copy" スキームが作成され、App copy-Info.plist
という新しいファイルが追加されます。
iOS のターゲットに関する追加情報は、このリンク で確認できます。
新しいスキームと Plist ファイルをリネームします。
- Schemeメニューから、**Manage Schemes...**を選択します。
- "App copy "スキームを見つけ、
Enter
キーを押して名前を変更します。App QA "という名前に設定し、ダイアログを閉じます。 - プロジェクトナビゲータパネルで "App copy-Info "ファイルを見つけ、
Enter
キーを押してファイル名を変更します。ファイル名を "App QA-Info.plist "に設定します。 - プロジェクトの設定に戻ります。App QA "ターゲットが選択されていることを確認し、_Build Settings_セクションを開いてください。パッケージングまでスクロールダウンし、Info.plist File のエントリを "App QA-Info.plist" に変更します。
iOSプロジェクトは、2つの実行可能なスキーマを持つようになりました。"App "と "App QA "です。Capacitorの設定ファイルでは、run
コマンドの際にどちらのスキームをビルドするかを指定することができます。
iOSのスキームに関する追加情報はこちらのリンクにあります。
環境固有の値を設定する
プロジェクトの設定の General の部分に戻ります。App QA」ターゲットが選択されていることを確認し、Display Name と Bundle Identifier を変更します。
これらの値が、デフォルトの「App」ターゲットに存在する値とは異なることを確認します。ターゲット固有の値は、ターゲットに関連付けられた Info.plist
ファイルに保存されます。このガイドに従うと、そのファイルはApp QA-Info.plist
です。
Podfileを更新してアプリを同期する
Xcodeを終了します。この先、お好みのIDEを使用することができます。
ios/App/Podfile`を開き、"App "ターゲットのコードブロックを複製します。
...snip...
target 'App' do
capacitor_pods
# Add your Pods here
end
target 'App QA' do
capacitor_pods
# Add your Pods here
end
npx cap sync
を実行して、プラグインを "App QA" ターゲットに同期させます。
iOS固有のCapacitor設定を追加する
QA環境のターゲットとスキームが作成されたので、それらを使用するためにCapacitorの設定を更新する必要があります。
以下のプロパティを capacitor.config.ts
の設定オブジェクトに追加してください。
ios: {
scheme: 'App QA',
}
scheme
プロパティは run
コマンドに使用する iOS スキームを Capacitor に伝えます。試しに npx cap run ios
を実行してみると、アプリの名前が変わっていることがわかります。