📝

FlutterFire は何をしている?gitignoreの書き方と取り消し方法

2024/11/26に公開

FlutterfireでFirebaseを使っていたが、.gitignoreされていなくて(プライベートリポジトリだったが)アップロードされてしまっていたので、flutterfireが何を変更したのかを実験した。

結論:gitignoreの書き方

Flutterプロジェクト直下の.gitignoreに以下書き足しましょう。

プロジェクト名/.gitignore
/lib/firebase_options.dart
/android/app/google-services.json
/firebase.json
/ios/Runner/GoogleService-Info.plist

実験方法

捨てFirebaseFlutterプロジェクトを作り、捨てgitリポジトリを作り、Android Studioで変更点を確認する。

flutterfire configure実行時の変更点

Android

変更:android/app/build.gradle

android/app/build.gradle
// Line 3
+ // START: FlutterFire Configuration
+ id 'com.google.gms.google-services'
+ // END: FlutterFire
全文
Android Studioのdiff

変更:android/settings.gradle

android/settings.gradle
plugins {
    id "dev.flutter.flutter-plugin-loader" version "1.0.0"
    id "com.android.application" version '8.3.0' apply false
+     // START: FlutterFire Configuration
+     id 'com.google.gms.google-services' version '4.4.1' apply false
+     // END: FlutterFire Configuration
+     id "org.jetbrains.kotlin.android" version "1.9.23" apply false
}
全文
Android Studioのdiff

新規:android/app/google-services.json

全文
Android Studioのdiff

iOS

変更:ios/Runner.xcodeproj/project.pbxproj

ios/Runner.xcodeproj/project.pbxproj
/* Line 19 */
+ ************************ /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = ************************ /* GoogleService-Info.plist */; };
全文
Android Studioのdiff

macOS/OSX

変更:macos/Runner.xcodeproj/project.pbxproj

macos/Runner.xcodeproj/project.pbxproj
/* Line 23 */
/* Begin PBXBuildFile section */
		************************ /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = ************************ /* RunnerTests.swift */; };
		************************ /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = ************************ /* GeneratedPluginRegistrant.swift */; };
		************************ /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = ************************ /* AppDelegate.swift */; };
		************************ /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = ************************ /* Assets.xcassets */; };
		************************ /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = ************************ /* MainMenu.xib */; };
		************************ /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = ************************ /* MainFlutterWindow.swift */; };
        ************************ /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = ************************ /* GoogleService-Info.plist */; };
/* End PBXBuildFile section */
Android Studioのdiff

その他

新規:(proj name)/firebase.json

全文
Android Studioのdiff

新規:lib/firebase_options.dart

全文
Android Studioのdiff

iOSまたはMacOS/Runner/GoogleService-info.plist

全文
Android Studioのdiff

MacOS

iOS
(上と同じ)

Discussion