Config Pluginsの適用
このアプリでは、Expoが標準で用意しているConfig Pluginsに加えて、サードパーティのライブラリが公開しているものや、アプリで独自に作成したConfig Pluginsも適用しています。
サードバーティのConfig Plugins
プラグイン名 | OS | 環境 | 概要 |
---|---|---|---|
expo-build-properties | iOS/Android | all | ios/Podfile.properties.json とandroid/gradle.properties に定義している設定値を変更するプラグインです。 |
@react-native-firebase/app | iOS/Android | all | @react-native-firebase/app の初期設定を実施するプラグインです。 |
@react-native-firebase/crashlytics | iOS/Android | all | @react-native-firebase/crashlytics の初期設定を実施するプラグインです。 |
アプリで独自に作成したConfig Plugins
プラグイン名 | OS | 環境 | 概要 |
---|---|---|---|
withAddNativeModules | Android/iOS | all | このアプリで作成したNativeModulesを追加します。 |
withAndroidAddAppActivity | Android | all | Transition中にActivityのbackgroundが表示される問題があるため、Splash Screen用とReact Native用にActivityを分けます。 |
withAndroidAddManifestPlaceholders | Android | all | build.gradle にmanifestPlaceholders を追加して、指定された変数をAndroidManifest.xml で参照できるようにします。manifestPlaceholders に設定する値は、固定の文字列やgradle.properties 、システムプロパティから取得できます。 |
withAndroidEnabledStatusBarTranslucent | Android | all | スプラッシュスクリーンがexpo-splash-screenで表示されるImageViewに変わった時に、画像がずれてしまう問題があるため、expo_splash_screen_status_bar_translucentを有効化します。 |
withAndroidDisabledWindowDrawsSystemBarBackgrounds | Android | all | スプラッシュスクリーンがexpo-splash-screenで表示されるImageViewに変わった時に、画像がずれてしまう問題があるため、windowDrawsSystemBarBackgrounds を無効化します。 |
withAndroidMoveDevSettingsActivityToDebugAndroidManifest | Android | all | DevSettingsActivityの設定をmain/AndroidManifest.xml からdebug/AndroidManifest.xml に移動します。 |
withAndroidFlexibleSplashScreen | Android | all | Expoの標準プラグインでは、スプラッシュスクリーンに1枚の画像しか設定できません。このアプリでは、複数の画像を中央で画面サイズに合わせて表示したり、下揃えで表示したりする必要があります。 そのため、スプラッシュスクリーン用に複数枚の画像をコピーしたり、それらの画像を使用する設定ファイルをテンプレートからコピーします。 |
withAndroidAppBuildGradleForRelease | Android | stg prod | リリース用の署名設定や、NDKのクラッシュログ収集に関する設定を追加します。 |
withIosRemoveCFBundleUrlTypes | iOS | all | このアプリではカスタムスキーマを定義しないため、CFBundleURLTypesを削除します。 |
withIosOverrideStoryboard | iOS | all | Expoの標準プラグインでは、スプラッシュスクリーンに1枚の画像しか設定できません。このアプリでは、複数の画像を中央で画面サイズに合わせて表示したり、下揃えで表示したりする必要があります。 そのため、スプラッシュスクリーン用に複数枚の画像をコピーしたり、Storyboardをテンプレートからコピーします。 |
withIosSetCredentials | iOS | all | BundleIdentifierや署名に関する設定をします。 |
withIosDisabledATS | iOS | local dev | ATS(App Transport Security)を無効化します。 |
withIosEnabledATS | iOS | stg prod | ATS(App Transport Security)を有効化します。 |
withIosAddPersonalAccountConfig | iOS | local | 開発者アカウントが設定されたPersonalAccount.xcconfig をテンプレートからコピーします。 |