メインコンテンツまでスキップ

Config Pluginsの適用

このアプリでは、Expoが標準で用意しているConfig Pluginsに加えて、サードパーティのライブラリが公開しているものや、アプリで独自に作成したConfig Pluginsも適用しています。

サードバーティのConfig Plugins

プラグイン名OS環境概要
expo-build-propertiesiOS/Androidallios/Podfile.properties.jsonandroid/gradle.propertiesに定義している設定値を変更するプラグインです。
@react-native-firebase/appiOS/Androidall@react-native-firebase/appの初期設定を実施するプラグインです。
@react-native-firebase/crashlyticsiOS/Androidall@react-native-firebase/crashlyticsの初期設定を実施するプラグインです。

アプリで独自に作成したConfig Plugins

プラグイン名OS環境概要
withAddNativeModulesAndroid/iOSallこのアプリで作成したNativeModulesを追加します。
withAndroidAddAppActivityAndroidallTransition中にActivityのbackgroundが表示される問題があるため、Splash Screen用とReact Native用にActivityを分けます。
withAndroidAddManifestPlaceholdersAndroidallbuild.gradlemanifestPlaceholdersを追加して、指定された変数をAndroidManifest.xmlで参照できるようにします。manifestPlaceholdersに設定する値は、固定の文字列やgradle.properties、システムプロパティから取得できます。
withAndroidEnabledStatusBarTranslucentAndroidallスプラッシュスクリーンがexpo-splash-screenで表示されるImageViewに変わった時に、画像がずれてしまう問題があるため、expo_splash_screen_status_bar_translucentを有効化します。
withAndroidDisabledWindowDrawsSystemBarBackgroundsAndroidallスプラッシュスクリーンがexpo-splash-screenで表示されるImageViewに変わった時に、画像がずれてしまう問題があるため、windowDrawsSystemBarBackgroundsを無効化します。
withAndroidMoveDevSettingsActivityToDebugAndroidManifestAndroidallDevSettingsActivityの設定をmain/AndroidManifest.xmlからdebug/AndroidManifest.xmlに移動します。
withAndroidFlexibleSplashScreenAndroidallExpoの標準プラグインでは、スプラッシュスクリーンに1枚の画像しか設定できません。このアプリでは、複数の画像を中央で画面サイズに合わせて表示したり、下揃えで表示したりする必要があります。
そのため、スプラッシュスクリーン用に複数枚の画像をコピーしたり、それらの画像を使用する設定ファイルをテンプレートからコピーします。
withAndroidAppBuildGradleForReleaseAndroidstg
prod
リリース用の署名設定や、NDKのクラッシュログ収集に関する設定を追加します。
withIosRemoveCFBundleUrlTypesiOSallこのアプリではカスタムスキーマを定義しないため、CFBundleURLTypesを削除します。
withIosOverrideStoryboardiOSallExpoの標準プラグインでは、スプラッシュスクリーンに1枚の画像しか設定できません。このアプリでは、複数の画像を中央で画面サイズに合わせて表示したり、下揃えで表示したりする必要があります。
そのため、スプラッシュスクリーン用に複数枚の画像をコピーしたり、Storyboardをテンプレートからコピーします。
withIosSetCredentialsiOSallBundleIdentifierや署名に関する設定をします。
withIosDisabledATSiOSlocal
dev
ATS(App Transport Security)を無効化します。
withIosEnabledATSiOSstg
prod
ATS(App Transport Security)を有効化します。
withIosAddPersonalAccountConfigiOSlocal開発者アカウントが設定されたPersonalAccount.xcconfigをテンプレートからコピーします。