-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Description
I think this is a feature request, based on the fact that this is a brand new kind of target.
Use case
On Apple Silicon, Xcode 12.2 Beta offers to launch Runner with a new type of Target, "My Mac (Designed for iPad)":
Running on this target actually succeeds with current Flutter master (see doctor logs below):
Basic app functionality seems to work, which is great.
Unfortunately, trying to attach to the running app via flutter attach fails:
DTK:helloWorldOne alex$ flutter attach
No supported devices connected.
DTK:helloWorldOne alex$
In addition, if there are any other iOS devices attached, flutter attach fails spectacularly with a series of crashes (Presumably the crash is a red herring, but I wanted to mention it here for future developers also struggling with this.)
Proposal
I propose that full support for "My Mac (Designed for iPad)" be prioritized for an upcoming release.
This year, Apple announced at WWDC that iOS apps would be made available by default to all users of macOS 11 on Apple Silicon. This is because the new architecture allows iOS apps to run natively on this hardware with no recompilation, and no longer requires Catalyst.
References:
- https://developer.apple.com/videos/play/wwdc2020/10114/
- https://www.apple.com/newsroom/2020/06/apple-announces-mac-transition-to-apple-silicon/
- https://www.theverge.com/2020/6/22/21299485/apple-mac-new-silicon-chips-iphone-ipad-apps-shared-architecture-wwdc-2020
- ... and many more
Apple is making developers opt-out if we do not want to allow our iPad apps to be automatically provided to users of macOS 11 on Apple Silicon. While these apps may be able to technically run, there may be significant problems, especially related to the differences between a touch-based user interface vs. a cursor-driven user interface.
As a mobile app developer using Flutter, I need to be able to test and remediate any strange behaviors before users begin using my app in this new way.
Because this affects every iOS developer using Flutter, I am proposing that this feature should be highly prioritized so developers like me have a chance to get our apps updated before Apple Silicon starts landing in the hands of users.
Thanks for your consideration!
Details
Output of flutter doctor -v:
DTK:helloWorldOne alex$ flutter doctor -v
[✓] Flutter (Channel master, 1.22.0-10.0.pre.264, on macOS 11.0 20A5374g x86_64, locale en-US)
• Flutter version 1.22.0-10.0.pre.264 at /Users/alex/Development/Flutter/flutter
• Framework revision 3e6863ab2b (12 hours ago), 2020-09-18 21:05:27 -0700
• Engine revision 2abe69c608
• Dart version 2.10.0 (build 2.10.0-136.0.dev)
[✗] Android toolchain - develop for Android devices
✗ Unable to locate Android SDK.
Install Android Studio from: https://developer.android.com/studio/index.html
On first launch it will assist you in installing the Android SDK components.
(or visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions).
If the Android SDK has been installed to a custom location, please use
`flutter config --android-sdk` to update to that location.
[✓] Xcode - develop for iOS and macOS (Xcode 12.2)
• Xcode at /Applications/Xcode-beta.app/Contents/Developer
• Xcode 12.2, Build version 12B5018i
• CocoaPods version 1.9.3
[!] 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).
[!] Connected device
! No devices available
! Doctor found issues in 3 categories.
DTK:helloWorldOne alex$
Flutter crash:
DTK:helloWorldOne alex$ flutter attach
Oops; flutter has exited unexpectedly: "Bad state: The client closed with pending request "streamListen".".
⣽Oops; flutter has exited unexpectedly: "Bad state: The client closed with pending request "streamListen".".
A crash report has been written to /Users/alex/Documents/MarkleyBros/flutter_helloworld/helloWorldOne/flutter_03.log.
This crash may already be reported. Check GitHub for similar crashes.
https://github.com/flutter/flutter/issues?q=is%3Aissue+Bad+state%3A+The+client+closed+with+pending+request+%22streamListen%22.
To report your crash to the Flutter team, first read the guide to filing a bug.
https://flutter.dev/docs/resources/bug-reports
Create a new GitHub issue by pasting this link into your browser and completing the issue template. Thank you!
A crash report has been written to /Users/alex/Documents/MarkleyBros/flutter_helloworld/helloWorldOne/flutter_04.log.
This crash may already be reported. Check GitHub for similar crashes.
https://github.com/flutter/flutter/issues?q=is%3Aissue+Bad+state%3A+The+client+closed+with+pending+request+%22streamListen%22.
To report your crash to the Flutter team, first read the guide to filing a bug.
https://flutter.dev/docs/resources/bug-reports
Create a new GitHub issue by pasting this link into your browser and completing the issue template. Thank you!
https://github.com/flutter/flutter/issues/new?title=%5Btool_crash%5D+StateError%3A+Bad+state%3A+The+client+closed+with+pending+request+%22streamListen%22.&body=%23%23+Command%0A%60%60%60%0Aflutter+attach%0A%60%60%60%0A%0A%23%23+Steps+to+Reproduce%0A1.+...%0A2.+...%0A3.+...%0A%0A%23%23+Logs%0AStateError%3A+Bad+state%3A+The+client+closed+with+pending+request+%22streamListen%22.%0A%60%60%60%0A%230++++++new+Client.withoutJson.%3Canonymous+closure%3E+%28package%3Ajson_rpc_2%2Fsrc%2Fclient.dart%3A70%3A24%29%0A%231++++++_rootRun+%28dart%3Aasync%2Fzone.dart%3A1182%3A47%29%0A%232++++++_CustomZone.run+%28dart%3Aasync%2Fzone.dart%3A1093%3A19%29%0A%233++++++_FutureListener.handleWhenComplete+%28dart%3Aasync%2Ffuture_impl.dart%3A167%3A18%29%0A%234++++++Future._propagateToListeners.handleWhenCompleteCallback+%28dart%3Aasync%2Ffuture_impl.dart%3A666%3A39%29%0A%235++++++Future._propagateToListeners+%28dart%3Aasync%2Ffuture_impl.dart%3A722%3A37%29%0A%236++++++Future._propagateToListeners+%28dart%3Aasync%2Ffuture_impl.dart%3A621%3A9%29%0A%237++++++Future._completeWithValue+%28dart%3Aasync%2Ffuture_impl.dart%3A529%3A5%29%0A%238++++++Future._asyncCompleteWithValue.%3Canonymous+closure%3E+%28dart%3Aasync%2Ffuture_impl.dart%3A567%3A7%29%0A%239++++++_rootRun+%28dart%3Aasync%2Fzone.dart%3A1190%3A13%29%0A%2310+++++_CustomZone.run+%28dart%3Aasync%2Fzone.dart%3A1093%3A19%29%0A%2311+++++_CustomZone.runGuarded+%28dart%3Aasync%2Fzone.dart%3A997%3A7%29%0A%2312+++++_CustomZone.bindCallbackGuarded.%3Canonymous+closure%3E+%28dart%3Aasync%2Fzone.dart%3A1037%3A23%29%0A%2313+++++_microtaskLoop+%28dart%3Aasync%2Fschedule_microtask.dart%3A41%3A21%29%0A%2314+++++_startMicrotaskLoop+%28dart%3Aasync%2Fschedule_microtask.dart%3A50%3A5%29%0A%2315+++++_runPendingImmediateCallback+%28dart%3Aisolate-patch%2Fisolate_patch.dart%3A118%3A13%29%0A%2316+++++_RawReceivePortImpl._handleMessage+%28dart%3Aisolate-patch%2Fisolate_patch.dart%3A169%3A5%29%0A%60%60%60%0A%60%60%60%0A%5B%E2%9C%93%5D+Flutter+%28Channel+master%2C+1.22.0-10.0.pre.264%2C+on+macOS+11.0+20A5374g+x86_64%2C+locale+en-US%29%0A++++%E2%80%A2+Flutter+version+1.22.0-10.0.pre.264+at+%2FUsers%2Falex%2FDevelopment%2FFlutter%2Fflutter%0A++++%E2%80%A2+Framework+revision+3e6863ab2b+%2812+hours+ago%29%2C+2020-09-18+21%3A05%3A27+-0700%0A++++%E2%80%A2+Engine+revision+2abe69c608%0A++++%E2%80%A2+Dart+version+2.10.0+%28build+2.10.0-136.0.dev%29%0A%0A%5B%E2%9C%97%5D+Android+toolchain+-+develop+for+Android+devices%0A++++%E2%9C%97+Unable+to+locate+Android+SDK.%0A++++++Install+Android+Studio+from%3A+https%3A%2F%2Fdeveloper.android.com%2Fstudio%2Findex.html%0A++++++On+first+launch+it+will+assist+you+in+installing+the+Android+SDK+components.%0A++++++%28or+visit+https%3A%2F%2Fflutter.dev%2Fdocs%2Fget-started%2Finstall%2Fmacos%23android-setup+for+detailed+instructions%29.%0A++++++If+the+Android+SDK+has+been+installed+to+a+custom+location%2C+please+use%0A++++++%60flutter+config+--android-sdk%60+to+update+to+that+location.%0A%0A%0A%5B%E2%9C%93%5D+Xcode+-+develop+for+iOS+and+macOS+%28Xcode+12.2%29%0A++++%E2%80%A2+Xcode+at+%2FApplications%2FXcode-beta.app%2FContents%2FDeveloper%0A++++%E2%80%A2+Xcode+12.2%2C+Build+version+12B5018i%0A++++%E2%80%A2+CocoaPods+version+1.9.3%0A%0A%5B%21%5D+Android+Studio+%28not+installed%29%0A++++%E2%80%A2+Android+Studio+not+found%3B+download+from+https%3A%2F%2Fdeveloper.android.com%2Fstudio%2Findex.html%0A++++++%28or+visit+https%3A%2F%2Fflutter.dev%2Fdocs%2Fget-started%2Finstall%2Fmacos%23android-setup+for+detailed+instructions%29.%0A%0A%5B%E2%9C%93%5D+Connected+device+%281+available%29%0A++++%E2%80%A2+Alex%E2%80%99s+Test+iPhone+%28mobile%29+%E2%80%A2+23213195532ab6cb98b1a34dfdf13ba0faacc083+%E2%80%A2+ios+%E2%80%A2+iOS+14.2%0A%0A%21+Doctor+found+issues+in+2+categories.%0A%0A%60%60%60%0A%0A%23%23+Flutter+Application+Metadata%0A%2A%2AType%2A%2A%3A+app%0A%2A%2AVersion%2A%2A%3A+1.0.0%2B1%0A%2A%2AMaterial%2A%2A%3A+true%0A%2A%2AAndroid+X%2A%2A%3A+false%0A%2A%2AModule%2A%2A%3A+false%0A%2A%2APlugin%2A%2A%3A+false%0A%2A%2AAndroid+package%2A%2A%3A+null%0A%2A%2AiOS+bundle+identifier%2A%2A%3A+null%0A%2A%2ACreation+channel%2A%2A%3A+master%0A%2A%2ACreation+framework+version%2A%2A%3A+3e6863ab2bc5cd33b41646ec957969860af7d518%0A%0A&labels=tool%2Csevere%3A+crash
https://git.io/JUE47
DTK:helloWorldOne alex$


