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をテンプレートからコピーします。 |