Bug report
After upgrading my app to null safety, I'm no longer getting iOS Crashlytics events on my dashboard.
Android Crashlytics events are working as expected.
I had been getting events perfectly from both platforms before migrating to null safety.
My app does have two flutter platform flavors (dev, prod), and things appear to be set up correctly, since the pre-null safety version works for both flavors on both platforms.
I am building and loading the app to device from command line, and detach from computer to run / start / stop app:
flutter run --release --flavor dev
flutter run --release --flavor prod
Tips from other previous similar issues I have already tried:
- My Crashlytics account is set up correctly, apps are activated, already listening to events (successfully from pre-null safety version)
- Crashlytics dashboard is not filtering out specific types. It is showing both
crashes and non-fatals event types.
- I've completely cleaned build and deps environment of Pods, Podfile.lock, cache, build, .pub-cache.
- I am building with
--release flag
- I'm running app on a physical iPhone device
- I restart the app after triggering crash events (e.g. with
FirebaseCrashlytics.instance.crash() as well as manually triggered exceptions)
Am I missing anything to try?
Pre-Null safety deps: (works for both iOS and Android)
firebase_core: ^0.7.0
firebase_crashlytics: ^0.4.0
Null safety deps: (works for Android, but not iOS)
firebase_core: ^1.7.0
firebase_crashlytics: ^2.2.3
Flutter doctor
Click To Expand
[✓] Flutter (Channel stable, 2.5.2, on macOS 11.6 20G165 darwin-x64, locale en-US)
• Flutter version 2.5.2 at /Users/user/Documents/Projects/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 3595343e20 (2 weeks ago), 2021-09-30 12:58:18 -0700
• Engine revision 6ac856380f
• Dart version 2.14.3
[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
• Android SDK at /Users/user/Library/Android/sdk
• Platform android-31, build-tools 31.0.0
• Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 13.0, Build version 13A233
• CocoaPods version 1.11.2
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2020.3)
• Android Studio at /Applications/Android Studio.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
• Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)
[✓] VS Code (version 1.61.1)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.27.0
[✓] Connected device (2 available)
• David’s iPhone (mobile) • da73ea9e0db567ea62ad184af8c8f23209648d6f • ios • iOS 15.0 19A346
• Chrome (web) • chrome • web-javascript • Google Chrome 94.0.4606.81
• No issues found!
Flutter dependencies
Click To Expand
Dart SDK 2.14.3
Flutter SDK 2.5.2
app 1.0.0+1
dependencies:
- advance_pdf_viewer 2.0.0 [flutter flutter_cache_manager numberpicker path_provider]
- connectivity_plus 2.0.2 [flutter meta connectivity_plus_platform_interface connectivity_plus_linux connectivity_plus_macos connectivity_plus_web connectivity_plus_windows]
- convert 3.0.1 [typed_data]
- crypto 3.0.1 [collection typed_data]
- cupertino_icons 1.0.3
- dart_date 1.1.0 [intl timeago]
- device_info 2.0.2 [flutter device_info_platform_interface]
- dime_flutter 0.6.0 [flutter dime fimber]
- dio 4.0.0 [http_parser path]
- email_validator 2.0.1
- equatable 2.0.3 [collection meta]
- firebase_core 1.7.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_crashlytics 2.2.3 [firebase_core firebase_core_platform_interface firebase_crashlytics_platform_interface flutter stack_trace]
- flare_flutter 3.0.2 [collection flutter meta]
- flutter 0.0.0 [characters collection meta typed_data vector_math sky_engine]
- flutter_ble_lib_ios_15 2.4.3 [collection async meta flutter]
- flutter_bloc 7.3.0 [flutter bloc provider]
- flutter_fimber 0.6.3 [fimber flutter]
- flutter_local_notifications 9.0.0 [clock flutter flutter_local_notifications_linux flutter_local_notifications_platform_interface timezone]
- flutter_localizations 0.0.0 [flutter intl characters clock collection meta path typed_data vector_math]
- flutter_markdown 0.6.7 [flutter markdown meta path]
- flutter_native_timezone 2.0.0 [flutter_web_plugins flutter js]
- flutter_nordic_dfu 3.0.0 [flutter]
- flutter_secure_storage 4.2.1 [meta flutter]
- flutter_svg 0.23.0+1 [flutter meta path_drawing vector_math xml]
- flutter_swiper_plus 2.0.4 [vector_math flutter]
- google_fonts 2.1.0 [flutter http path_provider crypto]
- hive 2.0.4 [meta crypto]
- hive_flutter 1.1.0 [flutter hive path_provider path]
- http 0.13.4 [async http_parser meta path]
- json_annotation 4.1.0 [meta]
- jwt_decoder 2.0.1
- package_info 2.0.2 [flutter]
- path_provider 2.0.5 [flutter path_provider_linux path_provider_macos path_provider_platform_interface path_provider_windows]
- permission_handler 8.2.5 [flutter meta permission_handler_platform_interface]
- protobuf 2.0.0 [fixnum]
- replay_bloc 0.1.0 [bloc]
- retrofit 2.0.1 [dio meta]
- rxdart 0.27.2
- shared_preferences 2.0.8 [flutter meta shared_preferences_linux shared_preferences_macos shared_preferences_platform_interface shared_preferences_web shared_preferences_windows]
- url_launcher 6.0.12 [flutter meta url_launcher_linux url_launcher_macos url_launcher_platform_interface url_launcher_web url_launcher_windows]
- webview_flutter 2.1.1 [flutter webview_flutter_platform_interface webview_flutter_android webview_flutter_wkwebview]
dev dependencies:
- bloc_test 8.3.0 [bloc meta mocktail test]
- build_runner 2.1.4 [args async analyzer build build_config build_daemon build_resolvers build_runner_core code_builder collection crypto dart_style frontend_server_client glob graphs http_multi_server io js logging meta mime package_config path pool pub_semver pubspec_parse shelf shelf_web_socket stack_trace stream_transform timing watcher web_socket_channel yaml]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters charcode collection matcher meta source_span stream_channel string_scanner term_glyph typed_data]
- json_serializable 5.0.2 [analyzer build build_config collection json_annotation meta path source_gen source_helper]
- mocktail 0.1.4 [collection matcher test]
- retrofit_generator 2.0.1+2 [dio source_gen built_collection code_builder tuple retrofit analyzer dart_style build]
- test 1.17.10 [analyzer async boolean_selector collection coverage http_multi_server io js node_preamble package_config path pedantic pool shelf shelf_packages_handler shelf_static shelf_web_socket source_span stack_trace stream_channel typed_data web_socket_channel webkit_inspection_protocol yaml test_api test_core]
- very_good_analysis 2.3.0
transitive dependencies:
- _fe_analyzer_shared 29.0.0 [meta]
- analyzer 2.6.0 [_fe_analyzer_shared cli_util collection convert crypto glob meta package_config path pub_semver source_span watcher yaml]
- args 2.3.0
- async 2.8.1 [collection meta]
- bloc 7.2.1 [meta]
- boolean_selector 2.1.0 [source_span string_scanner]
- build 2.1.1 [analyzer async convert crypto glob logging meta path]
- build_config 1.0.0 [checked_yaml json_annotation path pubspec_parse yaml]
- build_daemon 3.0.1 [built_collection built_value http_multi_server logging path pool shelf shelf_web_socket stream_transform watcher web_socket_channel]
- build_resolvers 2.0.4 [analyzer async build crypto graphs logging path package_config pool pub_semver stream_transform yaml]
- build_runner_core 7.2.2 [async build build_config build_resolvers collection convert crypto glob graphs json_annotation logging meta path package_config pool timing watcher yaml]
- built_collection 5.1.1
- built_value 8.1.2 [built_collection collection fixnum meta]
- characters 1.1.0
- charcode 1.3.1
- checked_yaml 2.0.1 [json_annotation source_span yaml]
- cli_util 0.3.5 [meta path]
- clock 1.1.0
- code_builder 4.1.0 [built_collection built_value collection matcher meta]
- collection 1.15.0
- connectivity_plus_linux 1.1.0 [flutter connectivity_plus_platform_interface dbus meta nm]
- connectivity_plus_macos 1.2.1 [connectivity_plus_platform_interface flutter]
- connectivity_plus_platform_interface 1.1.0 [flutter meta plugin_platform_interface]
- connectivity_plus_web 1.1.0+1 [connectivity_plus_platform_interface flutter_web_plugins flutter]
- connectivity_plus_windows 1.2.0 [connectivity_plus_platform_interface flutter]
- coverage 1.0.3 [args logging package_config path source_maps stack_trace vm_service]
- dart_style 2.2.0 [analyzer args path pub_semver source_span]
- dbus 0.5.6 [args ffi meta pedantic xml]
- device_info_platform_interface 2.0.1 [flutter meta plugin_platform_interface]
- dime 0.6.0 [fimber collection]
- fake_async 1.2.0 [clock collection]
- ffi 1.1.2
- file 6.1.2 [meta path]
- fimber 0.6.1
- firebase_core_platform_interface 4.0.1 [collection flutter meta plugin_platform_interface]
- firebase_core_web 1.1.0 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_crashlytics_platform_interface 3.1.3 [collection firebase_core flutter meta plugin_platform_interface]
- fixnum 1.0.0
- flutter_cache_manager 3.1.2 [clock collection file flutter http path path_provider pedantic rxdart sqflite uuid]
- flutter_local_notifications_linux 0.3.0 [flutter flutter_local_notifications_platform_interface dbus path xdg_directories]
- flutter_local_notifications_platform_interface 5.0.0 [flutter plugin_platform_interface]
- flutter_web_plugins 0.0.0 [flutter js characters collection meta typed_data vector_math]
- frontend_server_client 2.1.2 [async path]
- glob 2.0.2 [async collection file path string_scanner]
- graphs 2.1.0 [collection]
- http_multi_server 3.0.1 [async]
- http_parser 4.0.0 [charcode collection source_span string_scanner typed_data]
- infinite_listview 1.1.0 [flutter]
- intl 0.17.0 [clock path]
- io 1.0.3 [meta path string_scanner]
- js 0.6.3
- logging 1.0.2
- markdown 4.0.0 [args charcode meta]
- matcher 0.12.10 [stack_trace]
- meta 1.7.0
- mime 1.0.0
- nested 1.0.0 [flutter]
- nm 0.3.0 [dbus]
- node_preamble 2.0.1
- numberpicker 2.1.1 [flutter infinite_listview]
- package_config 2.0.2 [path]
- path 1.8.0
- path_drawing 0.5.1+1 [vector_math meta path_parsing flutter]
- path_parsing 0.2.1 [vector_math meta]
- path_provider_linux 2.1.0 [flutter path path_provider_platform_interface xdg_directories]
- path_provider_macos 2.0.2 [flutter]
- path_provider_platform_interface 2.0.1 [flutter meta platform plugin_platform_interface]
- path_provider_windows 2.0.3 [ffi flutter meta path path_provider_platform_interface win32]
- pedantic 1.11.1
- permission_handler_platform_interface 3.7.0 [flutter meta plugin_platform_interface]
- petitparser 4.3.0 [meta]
- platform 3.0.2
- plugin_platform_interface 2.0.2 [meta]
- pool 1.5.0 [async stack_trace]
- process 4.2.3 [file path platform]
- provider 6.0.1 [collection flutter nested]
- pub_semver 2.1.0 [collection meta]
- pubspec_parse 1.1.0 [checked_yaml collection json_annotation pub_semver yaml]
- quiver 3.0.1 [matcher]
- shared_preferences_linux 2.0.2 [file meta flutter path path_provider_linux shared_preferences_platform_interface]
- shared_preferences_macos 2.0.2 [flutter shared_preferences_platform_interface]
- shared_preferences_platform_interface 2.0.0 [flutter]
- shared_preferences_web 2.0.2 [flutter flutter_web_plugins meta shared_preferences_platform_interface]
- shared_preferences_windows 2.0.2 [flutter file meta path path_provider_platform_interface path_provider_windows shared_preferences_platform_interface]
- shelf 1.2.0 [async collection http_parser path stack_trace stream_channel]
- shelf_packages_handler 3.0.0 [path shelf shelf_static]
- shelf_static 1.1.0 [convert http_parser mime path shelf]
- shelf_web_socket 1.0.1 [shelf stream_channel web_socket_channel]
- sky_engine 0.0.99
- source_gen 1.1.1 [analyzer async build dart_style glob meta path source_span yaml]
- source_helper 1.3.0 [analyzer collection source_gen]
- source_map_stack_trace 2.1.0 [path stack_trace source_maps]
- source_maps 0.10.10 [source_span]
- source_span 1.8.1 [collection path term_glyph]
- sqflite 2.0.0+4 [flutter sqflite_common path]
- sqflite_common 2.0.1+1 [synchronized path meta]
- stack_trace 1.10.0 [path]
- stream_channel 2.1.0 [async]
- stream_transform 2.0.0
- string_scanner 1.1.0 [charcode source_span]
- synchronized 3.0.0
- term_glyph 1.2.0
- test_api 0.4.2 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- test_core 0.4.0 [analyzer async args boolean_selector collection coverage frontend_server_client glob io meta package_config path pedantic pool source_map_stack_trace source_maps source_span stack_trace stream_channel vm_service yaml matcher test_api]
- timeago 3.1.0
- timezone 0.8.0 [path]
- timing 1.0.0 [json_annotation]
- tuple 2.0.0 [quiver]
- typed_data 1.3.0 [collection]
- url_launcher_linux 2.0.2 [flutter]
- url_launcher_macos 2.0.2 [flutter]
- url_launcher_platform_interface 2.0.4 [flutter plugin_platform_interface]
- url_launcher_web 2.0.4 [flutter flutter_web_plugins meta url_launcher_platform_interface]
- url_launcher_windows 2.0.2 [flutter]
- uuid 3.0.5 [crypto]
- vector_math 2.1.0
- vm_service 7.3.0
- watcher 1.0.1 [async path]
- web_socket_channel 2.1.0 [async crypto stream_channel]
- webkit_inspection_protocol 1.0.0 [logging]
- webview_flutter_android 2.0.15 [flutter webview_flutter_platform_interface]
- webview_flutter_platform_interface 1.2.0 [flutter plugin_platform_interface]
- webview_flutter_wkwebview 2.0.14 [flutter webview_flutter_platform_interface]
- win32 2.2.9 [ffi]
- xdg_directories 0.2.0 [meta path process]
- xml 5.3.0 [collection meta petitparser]
- yaml 3.1.0 [collection source_span string_scanner]
Podfile
Click To Expand
target 'Runner' do
use_frameworks!
use_modular_headers!
pod 'Firebase/Crashlytics'
pod 'MultiplatformBleAdapter', :git => 'https://github.com/below/MultiPlatformBleAdapter', :tag => '0.1.9'
flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
end
pod install
Click To Expand
Analyzing dependencies
Pre-downloading: `MultiplatformBleAdapter` from `https://github.com/below/MultiPlatformBleAdapter`, tag `0.1.9`
firebase_core: Using Firebase SDK version '8.7.0' defined in 'firebase_core'
firebase_crashlytics: Using Firebase SDK version '8.7.0' defined in 'firebase_core'
Downloading dependencies
Installing FMDB (2.7.5)
Installing Firebase (8.7.0)
Installing FirebaseCore (8.7.0)
Installing FirebaseCoreDiagnostics (8.8.0)
Installing FirebaseCrashlytics (8.7.0)
Installing FirebaseInstallations (8.8.0)
Installing Flutter (1.0.0)
Installing GoogleDataTransport (9.1.0)
Installing GoogleUtilities (7.5.2)
Installing MultiplatformBleAdapter (0.1.9)
Installing PromisesObjC (2.0.0)
Installing Reachability (3.2)
Installing ZIPFoundation (0.9.11)
Installing advance_pdf_viewer (1.0.5)
Installing connectivity_plus (0.0.1)
Installing device_info (0.0.1)
Installing firebase_core (1.7.0)
Installing firebase_crashlytics (2.2.3)
Installing flutter_ble_lib_ios_15 (2.4.1)
Installing flutter_fimber (0.0.1)
Installing flutter_local_notifications (0.0.1)
Installing flutter_native_timezone (0.0.1)
Installing flutter_nordic_dfu (0.0.1)
Installing flutter_secure_storage (3.3.1)
Installing iOSDFULibrary (4.10.4)
Installing nanopb (2.30908.0)
Installing package_info (0.0.1)
Installing path_provider (0.0.1)
Installing permission_handler (5.1.0+2)
Installing shared_preferences (0.0.1)
Installing sqflite (0.0.2)
Installing url_launcher (0.0.1)
Installing webview_flutter_wkwebview (0.0.1)
Generating Pods project
Integrating client project
Pod installation complete! There are 21 dependencies from the Podfile and 33 total pods installed.
Bug report
After upgrading my app to null safety, I'm no longer getting iOS Crashlytics events on my dashboard.
Android Crashlytics events are working as expected.
I had been getting events perfectly from both platforms before migrating to null safety.
My app does have two flutter platform flavors (
dev,prod), and things appear to be set up correctly, since the pre-null safety version works for both flavors on both platforms.I am building and loading the app to device from command line, and detach from computer to run / start / stop app:
Tips from other previous similar issues I have already tried:
crashesandnon-fatalsevent types.--releaseflagFirebaseCrashlytics.instance.crash()as well as manually triggered exceptions)Am I missing anything to try?
Pre-Null safety deps: (works for both iOS and Android)
Null safety deps: (works for Android, but not iOS)
Flutter doctor
Click To Expand
Flutter dependencies
Click To Expand
Podfile
Click To Expand
pod install
Click To Expand