flutter / flutter

Flutter makes it easy and fast to build beautiful apps for mobile and beyond
https://flutter.dev
BSD 3-Clause "New" or "Revised" License
165.51k stars 27.32k forks source link

[iOS] Application may freeze if `Navigator.pop` is called while holding the `swipeBackGesture` #86459

Open grebennikovlmax opened 3 years ago

grebennikovlmax commented 3 years ago

Steps to Reproduce

An application freeze occurs when user uses swipe back gesture on IOS and Navigator.pop() is called.

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: Screen(),
    );
  }
}

class Screen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("First Screen"),
      ),
      body: Center(
        child: TextButton(
          onPressed: () {
            Navigator.of(context).push(
              MaterialPageRoute(
                builder: (context) {
                  return SecondScreen();
                },
              ),
            );
          },
          child: Text('Next Screen'),
        ),
      ),
    );
  }
}

class SecondScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Second Screen"),
      ),
      body: Center(
        child: TextButton(
          onPressed: () async {
            await Future.delayed(Duration(seconds: 1));
            Navigator.of(context).pop();
          },
          child: Text('Go Back'),
        ),
      ),
    );
  }
}

Expected results:

Navigation happened and gesture is canceled

Actual results:

Application freezes.

https://user-images.githubusercontent.com/15684133/125729637-d2ae00a4-64bc-4a5d-88ea-9984e1659eb8.mp4

Logs ```console Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel stable, 2.2.3, on macOS 11.4 20F71 darwin-x64, locale ru) • Flutter version 2.2.3 at /Users/Development/flutter • Framework revision f4abaa0735 (2 weeks ago), 2021-07-01 12:46:11 -0700 • Engine revision 241c87ad80 • Dart version 2.13.4 [✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3) • Android SDK at /Library/Android/sdk • Platform android-30, build-tools 30.0.3 • Java binary at: Library/Java/JavaVirtualMachines/corretto-11.0.11/Contents/Home/bin/java • Java version OpenJDK Runtime Environment Corretto-11.0.11.9.1 (build 11.0.11+9-LTS) • All Android licenses accepted. [✓] Xcode - develop for iOS and macOS • Xcode at /Applications/Xcode.app/Contents/Developer • Xcode 12.5, Build version 12E262 • CocoaPods version 1.10.1 [✓] Chrome - develop for the web • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome [!] Android Studio (not installed) • Android Studio not found; download from https://developer.android.com/studio/index.html (or visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions). [✓] IntelliJ IDEA Ultimate Edition (version 2021.1.3) • IntelliJ at /Applications/IntelliJ IDEA.app • Flutter plugin version 58.0.3 • Dart plugin version 211.7665 [✓] IntelliJ IDEA Community Edition (version 2021.1.2) • IntelliJ at /Applications/IntelliJ IDEA CE.app • Flutter plugin version 57.0.5 • Dart plugin version 211.7665 [✓] Connected device (2 available) • iPhone (itweb) (mobile) • 00008020-001A701C3A09002E • ios • iOS 14.4 • Chrome (web) • chrome • web-javascript • Google Chrome 91.0.4472.114 ! Doctor found issues in 1 category. ```
maheshj01 commented 3 years ago

Hi @grebennikovlmax, Thanks for filing the issue, could you please share the output of flutter doctor -v, And could you please rephrase the issue, Are you seeing the freeze when navigating back by pressing the button or by swiping on the right? And Are you experiencing this issue on a particular ios device or all devices? Thank you.

grebennikovlmax commented 3 years ago

Hi @grebennikovlmax, Thanks for filing the issue, could you please share the output of flutter doctor -v, And could you please rephrase the issue, Are you seeing the freeze when navigating back by pressing the button or by swiping on the right? And Are you experiencing this issue on a particular ios device or all devices? Thank you.

HI @maheshmnj output of flutter doctor in the logs. This issue present on all IOS devices. App freeze when you try swipe again. On pressing back button nothing happen.

maheshj01 commented 3 years ago

Sorry, if I was not clear I meant the complete log of flutter doctor -v. Which should include the device that you tried with and the ios version that you are using. This helps to better investigate the issue.

Thank you.

grebennikovlmax commented 3 years ago

Sorry, if I was not clear I meant the complete log of flutter doctor -v. Which should include the device that you tried with and the ios version that you are using. This helps to better investigate the issue.

Thank you.

Added complete log

maheshj01 commented 3 years ago

I am not able to replicate the freeze issue on the stable channel neither on the simulator or the real IOS device. I see the screen pops twice and shows a blank screen (as expected).

Can you try if you are experiencing the freeze on the master channel too by running

flutter channel master
flutter upgrade
Output from stable channel https://user-images.githubusercontent.com/31410839/125902887-269bec10-b0b1-4943-9d22-131aed7b309f.MP4
flutter doctor -v ``` [✓] Flutter (Channel stable, 2.2.3, on macOS 12.0 21A5284e darwin-x64, locale en-GB) • Flutter version 2.2.3 at /Users/tahatesser/Code/flutter_stable • Framework revision f4abaa0735 (2 weeks ago), 2021-07-01 12:46:11 -0700 • Engine revision 241c87ad80 • Dart version 2.13.4 [✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3) • Android SDK at /Users/tahatesser/Code/SDK • Platform android-30, build-tools 30.0.3 • ANDROID_HOME = /Users/tahatesser/Code/SDK • Java binary at: /Users/tahatesser/Code/openjdk/Contents/Home/bin/java • Java version OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_292-b10) • All Android licenses accepted. [✓] Xcode - develop for iOS and macOS • Xcode at /Applications/Xcode.app/Contents/Developer • Xcode 12.5.1, Build version 12E507 • CocoaPods version 1.10.1 [✓] Chrome - develop for the web • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome [!] Android Studio • 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 find bundled Java version. • Try updating or re-installing Android Studio. [✓] VS Code (version 1.58.1) • VS Code at /Applications/Visual Studio Code.app/Contents • Flutter extension version 3.24.0 [✓] Connected device (3 available) • Taha’s iPhone (mobile) • 00008020-001059882212002E • ios • iOS 14.6 • macOS (desktop) • macos • darwin-x64 • macOS 12.0 21A5284e darwin-x64 • Chrome (web) • chrome • web-javascript • Google Chrome 91.0.4472.114 ! Doctor found issues in 1 category. ```
grebennikovlmax commented 3 years ago
flutter doctor -v ``` [✓] Flutter (Channel master, 2.4.0-5.0.pre.76, on macOS 11.4 20F71 darwin-x64, locale ru) • Flutter version 2.4.0-5.0.pre.76 at /Users/grebennikov.ms/Development/flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision 8cf1de3e68 (3 hours ago), 2021-07-16 01:11:02 -0400 • Engine revision c2ffafea35 • Dart version 2.14.0 (build 2.14.0-321.0.dev) [✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3) • Android SDK at /Users/grebennikov.ms/Library/Android/sdk • Platform android-30, build-tools 30.0.3 • Java binary at: /Users/grebennikov.ms/Library/Java/JavaVirtualMachines/corretto-1.8.0_292/ Contents/Home/bin/java • Java version OpenJDK Runtime Environment Corretto-8.292.10.1 (build 1.8.0_292-b10) • All Android licenses accepted. [✓] Xcode - develop for iOS and macOS • Xcode at /Applications/Xcode.app/Contents/Developer • Xcode 12.5, Build version 12E262 • CocoaPods version 1.10.1 [✓] Chrome - develop for the web • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome [!] Android Studio (not installed) • Android Studio not found; download from https://developer.android.com/studio/index.html (or visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions). [✓] IntelliJ IDEA Ultimate Edition (version 2021.1.3) • IntelliJ at /Applications/IntelliJ IDEA.app • Flutter plugin version 58.0.3 • Dart plugin version 211.7665 [✓] IntelliJ IDEA Community Edition (version 2021.1.2) • IntelliJ at /Applications/IntelliJ IDEA CE.app • Flutter plugin version 57.0.5 • Dart plugin version 211.7665 [✓] Connected device (2 available) • iPhone (itweb) (mobile) • 00008020-001A701C3A09002E • ios • iOS 14.4 18D52 • Chrome (web) • chrome • web-javascript • Google Chrome 91.0.4472.114 ! Doctor found issues in 1 category. ```

Bug present on master channel too. It depend on position when you hold your finger. On first video finger closer to the right, on the second to the left.

video https://user-images.githubusercontent.com/15684133/125910978-005abb29-e294-41ce-8948-1508f15aa887.mp4 https://user-images.githubusercontent.com/15684133/125911006-a1f5ecea-b582-4f3e-80bd-21fe20bc4880.mp4
maheshj01 commented 3 years ago

Could you please explain where would you need this kind of use case? And Are you experiencing this freeze on the master channel too?

grebennikovlmax commented 3 years ago

Videos post above from master channel. Use case: waiting for a response from the server that closes the screen, but 'bad' user use swipe for whatever reason. Use case from production.

maheshj01 commented 3 years ago

For such a use case you have WillPopScope which can prevent users from popping the screen until the response comes from the server.

grebennikovlmax commented 3 years ago

Of course I can, but this is a bug. I think on such cases swipe should be cancelled and nothing happen with it.

maheshj01 commented 3 years ago

This looks like an implementation issue and not an issue with flutter. So I am going to go ahead and close the issue as invalid. if you disagree feel free to comment and I will reopen it. Thank you.

RenatFakhrutdinov commented 3 years ago

Hi! I found the same bug. @maheshmnj Thanks for your advice, but using WillPopScope is not suitable cause it breaks iOs user experience. I think we need to resolve the app freeze, cause sometimes it is necessary to call Navigator.pop() programmatically. And if it happen while user swipes back it freezes all UI.

Could you reopen issue please?

grebennikovlmax commented 3 years ago

@maheshmnj Maybe this is implementation issue, but I think this is a bug because app freezes. In this case on native IOS app nothing happens: swipe isn't canceled and navigation isn't invoked. Moreover, in the navigator.dart method _cancelActivePointers exist todo 'This mechanism is far from perfect'. Method cancel all active gestures, but this calls method dragEnd from route.dart.

maheshj01 commented 3 years ago

I think we need to resolve the app freeze, cause sometimes it is necessary to call Navigator.pop() programmatically. And if it happens while the user swipes back it freezes all UI.

Alright keeping it open for further investigation from the team.

maheshj01 commented 3 years ago

removed the found in release labels since this was not reproducible

TahaTesser commented 3 years ago

Hi @grebennikovlmax I just tried again, there is no freeze,

Can you please upgrade to the latest stable and try again Execute the following commands to upgrade flutter channel stable flutter upgrade --force flutter doctor -v

To better address the issue, If the problem persists, can you please provide your flutter doctor -v with the upgrade, complete reproducible minimal code sample (since the above code sample doesn't reproduce on device or simulator), and complete flutter run --verbose logs running the minimal code sample? Thank you

grebennikovlmax commented 3 years ago

Hi @TahaTesser, Issue still persist. Reproduction code and steps are actual. You need an ios device.
Hold swipe gest on second screen after tap on go back button. After await Future.delayed(Duration(seconds: 1)) will be called Navigator.pop() and gesture will canceled. It wont freeze, but if you try swipe again an exception will be thrown and the app will freeze:

Exception ```console The following RangeError was thrown while handling a gesture: RangeError (index): Invalid value: Only valid value is 0: -1 When the exception was thrown, this was the stack: #0 List.[] (dart:core-patch/growable_array.dart:254:60) #1 NavigatorState.didStartUserGesture (package:flutter/src/widgets/navigator.dart:5284:44) #2 new _CupertinoBackGestureController (package:flutter/src/cupertino/route.dart:714:15) #3 CupertinoRouteTransitionMixin._startPopGesture (package:flutter/src/cupertino/route.dart:231:12) #4 CupertinoRouteTransitionMixin.buildPageTransitions. (package:flutter/src/cupertino/route.dart:278:36) #5 _CupertinoBackGestureDetectorState._handleDragStart (package:flutter/src/cupertino/route.dart:627:54) #6 DragGestureRecognizer._checkStart. (package:flutter/src/gestures/monodrag.dart:429:53) #7 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:193:24) #8 DragGestureRecognizer._checkStart (package:flutter/src/gestures/monodrag.dart:429:7) #9 DragGestureRecognizer.acceptGesture (package:flutter/src/gestures/monodrag.dart:349:7) #10 GestureArenaManager._resolveByDefault (package:flutter/src/gestures/arena.dart:251:25) #11 GestureArenaManager._tryToResolveArena. (package:flutter/src/gestures/arena.dart:232:31) (elided 10 frames from dart:async) Handler: "onStart" Recognizer: HorizontalDragGestureRecognizer#fd7cc debugOwner: _CupertinoBackGestureDetectorState#0379d start behavior: start ```
flutter doctor -v ```console [✓] Flutter (Channel stable, 2.5.2, on macOS 11.6 20G165 darwin-x64, locale ru) • Flutter version 2.5.2 at /Users/grebennikov.ms/Development/flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision 3595343e20 (6 days 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 30.0.3) • Android SDK at /Users/grebennikov.ms/Library/Android/sdk • Platform android-31, build-tools 30.0.3 • 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.10.1 [✓] 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) [✓] IntelliJ IDEA Ultimate Edition (version 2021.2.2) • IntelliJ at /Applications/IntelliJ IDEA.app • Flutter plugin version 61.2.4 • Dart plugin version 212.5486 [✓] IntelliJ IDEA Community Edition (version 2021.1.3) • IntelliJ at /Applications/IntelliJ IDEA CE.app • Flutter plugin version 60.1.3 • Dart plugin version 211.7727 [✓] Connected device (3 available) • ANE LX1 (mobile) • 9WVDU18413005298 • android-arm64 • Android 9 (API 28) • iPhone Test (mobile) • a0bdd14ef37d71bcb7963a564ce8731ad211cd6c • ios • iOS 14.0 18A373 • Chrome (web) • chrome • web-javascript • Google Chrome 94.0.4606.71 • No issues found! ```

Same on the master channel

flutter doctor -v Master ```console [✓] Flutter (Channel master, 2.6.0-12.0.pre.234, on macOS 11.6 20G165 darwin-x64, locale ru) • Flutter version 2.6.0-12.0.pre.234 at /Users/grebennikov.ms/Development/flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision 8d9481b8bd (4 minutes ago), 2021-10-06 17:11:40 -0700 • Engine revision 21fb38029f • Dart version 2.15.0 (build 2.15.0-178.0.dev) [✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3) • Android SDK at /Users/grebennikov.ms/Library/Android/sdk • Platform android-31, build-tools 30.0.3 • 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 13.0) • Xcode at /Applications/Xcode.app/Contents/Developer • CocoaPods version 1.10.1 [✓] 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) [✓] IntelliJ IDEA Ultimate Edition (version 2021.2.2) • IntelliJ at /Applications/IntelliJ IDEA.app • Flutter plugin version 61.2.4 • Dart plugin version 212.5486 [✓] IntelliJ IDEA Community Edition (version 2021.1.3) • IntelliJ at /Applications/IntelliJ IDEA CE.app • Flutter plugin version 60.1.3 • Dart plugin version 211.7727 [✓] Connected device (2 available) • iPhone Test (mobile) • a0bdd14ef37d71bcb7963a564ce8731ad211cd6c • ios • iOS 14.0 18A373 • Chrome (web) • chrome • web-javascript • Google Chrome 94.0.4606.71 • No issues found! ```
danagbemava-nc commented 3 years ago

Issue is reproducible on stable and master.

Steps to reproduce

  1. Navigate to the next page
  2. Click the go back button
  3. Swipe back and hold the gesture
  4. After the 1 second delay, the page should revert to it's normal state.
  5. Attempt to swipe back
exception ```console Launching lib/issue_86459.dart on Nexus’ IPhone in debug mode... Found saved certificate choice "Apple Development: Dean Li (DXB2HBHNAA)". To clear, use "flutter config". Signing iOS app for device deployment using developer identity: "Apple Development: Dean Li (DXB2HBHNAA)" Xcode build done. 10.0s Connecting to VM Service at ws://127.0.0.1:58477/BKEymsuAEX0=/ws ════════ Exception caught by gesture ═══════════════════════════════════════════ The following RangeError was thrown while handling a gesture: RangeError (index): Invalid value: Only valid value is 0: -1 When the exception was thrown, this was the stack #0 List.[] (dart:core-patch/growable_array.dart:260:36) #1 NavigatorState.didStartUserGesture #2 new _CupertinoBackGestureController #3 CupertinoRouteTransitionMixin._startPopGesture #4 CupertinoRouteTransitionMixin.buildPageTransitions. #5 _CupertinoBackGestureDetectorState._handleDragStart #6 DragGestureRecognizer._checkStart. #7 GestureRecognizer.invokeCallback #8 DragGestureRecognizer._checkStart #9 DragGestureRecognizer.acceptGesture #10 GestureArenaManager._resolveByDefault #11 GestureArenaManager._tryToResolveArena. (elided 10 frames from dart:async) Handler: "onStart" Recognizer: HorizontalDragGestureRecognizer#af688 debugOwner: _CupertinoBackGestureDetectorState#8e7d2 start behavior: start ════════════════════════════════════════════════════════════════════════════════ ════════ Exception caught by gesture ═══════════════════════════════════════════ 'package:flutter/src/cupertino/route.dart': Failed assertion: line 632 pos 12: '_backGestureController != null': is not true. ════════════════════════════════════════════════════════════════════════════════ ════════ Exception caught by gesture ═══════════════════════════════════════════ 'package:flutter/src/cupertino/route.dart': Failed assertion: line 632 pos 12: '_backGestureController != null': is not true. ════════════════════════════════════════════════════════════════════════════════ Application finished. Exited (sigterm) ```
screenshot You sometimes end up in this state
flutter doctor -v ```console [✓] Flutter (Channel master, 2.6.0-12.0.pre.238, on macOS 11.5.1 20G80 darwin-arm, locale en-GB) • Flutter version 2.6.0-12.0.pre.238 at /Users/nexus/dev/sdks/flutters • Upstream repository https://github.com/flutter/flutter.git • Framework revision bf429f2771 (4 hours ago), 2021-10-06 21:44:27 -0700 • Engine revision e914da14f1 • Dart version 2.15.0 (build 2.15.0-178.0.dev) [✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0) • Android SDK at /Users/nexus/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-7249189) • All Android licenses accepted. [!] Xcode - develop for iOS and macOS (Xcode 12.5.1) • Xcode at /Applications/Xcode.app/Contents/Developer ! Flutter recommends a minimum Xcode version of 13.0.0. Download the latest version or update via the Mac App Store. • 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-7249189) [✓] VS Code (version 1.60.2) • VS Code at /Applications/Visual Studio Code.app/Contents • Flutter extension version 3.27.0 [✓] Connected device (3 available) • Nexus’ IPhone (mobile) • 00008020-001875E83A38002E • ios • iOS 14.8 18H17 • macOS (desktop) • macos • darwin-arm64 • macOS 11.5.1 20G80 darwin-arm • Chrome (web) • chrome • web-javascript • Google Chrome 94.0.4606.71 ! Doctor found issues in 1 category. ``` ```console [✓] Flutter (Channel stable, 2.5.2, on macOS 11.5.1 20G80 darwin-arm, locale en-GB) • Flutter version 2.5.2 at /Users/nexus/dev/sdks/flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision 3595343e20 (7 days 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/nexus/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-7249189) • All Android licenses accepted. [✓] Xcode - develop for iOS and macOS • Xcode at /Applications/Xcode.app/Contents/Developer • Xcode 12.5.1, Build version 12E507 • 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-7249189) [✓] VS Code (version 1.60.2) • VS Code at /Applications/Visual Studio Code.app/Contents • Flutter extension version 3.27.0 [✓] Connected device (3 available) • Nexus’ IPhone (mobile) • 00008020-001875E83A38002E • ios • iOS 14.8 18H17 • macOS (desktop) • macos • darwin-arm64 • macOS 11.5.1 20G80 darwin-arm • Chrome (web) • chrome • web-javascript • Google Chrome 94.0.4606.71 • No issues found![✓] Flutter (Channel stable, 2.5.2, on macOS 11.5.1 20G80 darwin-arm, locale en-GB) • Flutter version 2.5.2 at /Users/nexus/dev/sdks/flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision 3595343e20 (7 days 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/nexus/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-7249189) • All Android licenses accepted. [✓] Xcode - develop for iOS and macOS • Xcode at /Applications/Xcode.app/Contents/Developer • Xcode 12.5.1, Build version 12E507 • 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-7249189) [✓] VS Code (version 1.60.2) • VS Code at /Applications/Visual Studio Code.app/Contents • Flutter extension version 3.27.0 [✓] Connected device (3 available) • Nexus’ IPhone (mobile) • 00008020-001875E83A38002E • ios • iOS 14.8 18H17 • macOS (desktop) • macos • darwin-arm64 • macOS 11.5.1 20G80 darwin-arm • Chrome (web) • chrome • web-javascript • Google Chrome 94.0.4606.71 • No issues found! ```