invertase / flutterfire_cli

A CLI to help with using FlutterFire in your Flutter applications.
Apache License 2.0
164 stars 47 forks source link

[bug]: Here I have two main questions with Firebase and Crashlytics initialization #263

Open Ssiswent opened 3 months ago

Ssiswent commented 3 months ago

Is there an existing issue for this?

CLI Version

0.2.7

Firebase Tools version

13.4.0

Flutter Doctor Output

[✓] Flutter (Channel stable, 3.16.4, on macOS 14.2.1 23C71 darwin-arm64, locale en-CN) • Flutter version 3.16.4 on channel stable at /Users/ssiswent/Documents/flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision 2e9cb0aa71 (3 months ago), 2023-12-11 14:35:13 -0700 • Engine revision 54a7145303 • Dart version 3.2.3 • DevTools version 2.28.4

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.2) • Android SDK at /Users/ssiswent/Library/Android/sdk • Platform android-33, build-tools 33.0.2 • Java binary at: /Applications/Android Studio Preview.app/Contents/jbr/Contents/Home/bin/java • Java version OpenJDK Runtime Environment (build 17.0.10+0-17.0.10b1087.17-11446219) • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.2) • Xcode at /Applications/Xcode.app/Contents/Developer • Build 15C500b • CocoaPods version 1.15.2

[✗] Chrome - develop for the web (Cannot find Chrome executable at /Applications/Google Chrome Beta.app/Contents/MacOS/Google Chrome Beta) ! /Applications/Google Chrome Beta.app/Contents/MacOS/Google Chrome Beta is not executable.

[!] Android Studio (version unknown) • Android Studio at /Applications/Android Studio Preview.app/Contents • Flutter plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/6351-dart ✗ Unable to determine Android Studio version. • Java version OpenJDK Runtime Environment (build 17.0.10+0-17.0.10b1087.17-11446219)

[✓] IntelliJ IDEA Ultimate Edition (version 2023.1) • IntelliJ at /Applications/IntelliJ IDEA.app • Flutter plugin version 73.0.4 • Dart plugin version 231.8109.91

[✓] VS Code (version 1.83.1) • VS Code at /Applications/Visual Studio Code.app/Contents • Flutter extension version 3.74.0

[✓] VS Code (version 1.88.0-insider) • VS Code at /Applications/Visual Studio Code - Insiders.app/Contents • Flutter extension version 3.84.0

[✓] Connected device (4 available) • Selina’s iPhone (mobile) • 000xxx • ios • iOS 17.3.1 21D61 • Flamingo's 15 Pro (mobile) • 000xxx • ios • iOS 17.4 21E5200d • iPhone 15 Pro (mobile) • 78Cxxx • ios • com.apple.CoreSimulator.SimRuntime.iOS-17-2 (simulator) • macOS (desktop) • macos • darwin-arm64 • macOS 14.2.1 23C71 darwin-arm64

[✓] Network resources • All expected network resources are available.

! Doctor found issues in 2 categories.

Description

  1. Even I use newest version of Firebase in pubspec.yaml (firebase_core: ^2.26.0, firebase_crashlytics: ^3.4.17) and newest version of flutterfire (0.2.7) and newest version of firebase-tools@13.4.0 and Migrating to Dart-only initialization from https://firebase.flutter.dev/docs/manual-installation/#migrating-to-dart-only-initialization After I run flutterfire configure, google-services.json & GoogleService-Info.plist will be added, and build.gradle will be revert before Migrating to Dart-only initialization. After I run pod install, the run script of "[firebase_crashlytics] Crashlytics Upload Symbols" will be $PODS_ROOT/FirebaseCrashlytics/upload-symbols" --flutter-project "$PROJECT_DIR/firebase_app_id_file.json but not $PODS_ROOT/FirebaseCrashlytics/upload-symbols --build-phase --validate -ai FIREBASE_APP_ID -- $DWARF_DSYM_FOLDER_PATH/App.framework.dSYM and $PODS_ROOT/FirebaseCrashlytics/upload-symbols --build-phase -ai FIREBASE_APP_ID -- $DWARF_DSYM_FOLDER_PATH/App.framework.dSYM. (From https://firebase.google.com/docs/crashlytics/get-deobfuscated-reports?authuser=0&platform=flutter#run-script-does-not-exist) And I find there might be no differences between await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform); and await Firebase.initializeApp(); So it seems nothing changes after migration and updating, just like old versions of firebase and crashlytics.
  2. Run script successfully uploaded dSYM, in the Firebase console I can see that UUID, but there are no versions and still alert me missing one dSYM. And I can't use mdfind -name .dSYM | while read -r line; do dwarfdump -u "$line"; done to find the missing UUID.

Steps to reproduce

Steps in the description.

Expected behavior

  1. No need google-services.json & GoogleService-Info.plist as Migrating to Dart-only initialization.
  2. Run script should be which one (in the description).
  3. What's the difference between await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform); and await Firebase.initializeApp();, and when do I need options.
  4. Why dSYM uploaded by run script has no version number at the console of Firebase and still alert me missing one dSYM.
  5. And why I can't use mdfind -name .dSYM | while read -r line; do dwarfdump -u "$line"; done to find that missing UUID.

Screenshots

CleanShot 2024-03-06 at 18 01 35@2x CleanShot 2024-03-06 at 16 58 13@2x CleanShot 2024-03-06 at 16 53 14@2x image

Additional context and comments

No response