You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Document that debug Flutter apps cannot be manually launched on the device on iOS 14 #62531
On iOS 14 execution of JIT fails when the debugger is not attached, and debug Flutter apps (including host add-to-app applications) crash on launch when manually launched from the home screen on a physical device.
Reproduction steps
$ flutter create test_crash
$ cd test_crash
$ flutter run --debug -d physical-device-ios-14-identifier
<q> (quit)
On the device’s home screen, launch the newly installed Flutter app.
Write up documentation that the engine/tool can link and can be published as an "annoyance" describing this new limitation.
A little more context:
This crash is only relevant for physical iOS 14 devices and debug versions of the Flutter app. iOS 13 and below, simulators, and release versions of the app (so what end-customers will see) is unaffected.
The following does not work targeting an iOS 14 device:
On the device, launching the app by tapping an installed Flutter debug app on the home screen or a Siri search result
flutter install then launching the debug app manually from the home screen
Archiving and deploying a debug version of the app for testing (distribution to QA, etc), installing, and launching manually from the home screen
The following does work on iOS 14:
Launching the app from the Flutter command line with flutter run --debug or an IDE like Android Studio
Running the app from Xcode on the host Mac (ios/Runner.xcworkspace or an add-to-app host app)
Launching from the home screen on a simulator manually from the home screen
Launching release version of the app manually from the home screen
This only happens on iOS 14 and there's no (or very low) chance it will manifest in iOS 13, for example.
Yes, iOS 14 only.
This must be fixed on our side. It's not an example of some regression bug in iOS 14.
Apple changed some kernel behavior that disallowed an API dart is relying on, and we assume it was a purposeful change on their side.
iOS is not yet available for consumer use, and is expected to be in Fall (i.e. months from now).
But all iOS developers have access to iOS 14 for testing / dev purposes.
And iOS 14 is at the stage when developers are encouraged by Apple to start developing for iOS 14 and having it installed on their dev devices.
Yes, yes, and yes.
FWIW, I think we should tweet about this sooner rather than later, assuming all of my assumptions are true.
I'd like to hold off a bit until we decide how it will manifest to the user. We may be able to work around this issue completely (probably unlikely), and if not will likely show UI in the app that explains why what they tried won't work, and a link to documentation (tracked by this issue). \cc @zanderso
For what it's worth, while I think it's good to see if we can work around this quickly, we should not wait too long. Assuming this is happening to developers out there right now, and given the potentially frustrating aspect of "crashed while I was demoing my work to someone", I'd rather be proactive. I say let's make a decision by end of Thursday.
@filiph Responding quickly makes sense. We likely won't have anything working by Thursday, I definitely defer to whenever you and @zanderso think is best to get the word out. We don't plan to ship the next stable with this crash-on-launch behavior, I just don't want them to think that will be Flutter's expected behavior moving forward.
Summary of this issue, and other iOS 14 annoyances:
Debug crash on launch
Flutter debug applications crash when manually launched from the home screen on a physical iOS 14 device. Add-to-app debug applications will crash when the Flutter module loads.
This will not impact release versions of the application, and is not visible to end-users.
Workarounds:
Launch the app from the Flutter command line with flutter run or an IDE like Android Studio.
Run the app from Xcode on the host Mac (ios/Runner.xcworkspace or an add-to-app host app).
Local network notification
The dart observatory in Flutter debug applications prompts a permission notification that your app "would like to find and connect to devices on your local network". To use hot reload, make sure to select "OK" instead of "Don't Allow".
This will not impact release versions of the application, and is not visible to end-users.
Clipboard notifications
Flutter apps will show notifications that the app is pasting from your clipboard when no paste was initiated. This will impact released apps, and end-users will see this when running the app on iOS 14. A fix for this behavior will soon be available on the master channel.
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.
Activity
jmagman commentedon Jul 29, 2020
Issue tracking some UI in the engine to display and link to this documentation, instead of crashing:
#62518
jmagman commentedon Jul 29, 2020
@sfshaza2 Do you think this belongs on the website?
jmagman commentedon Jul 29, 2020
\cc @redbrogdon @filiph
filiph commentedon Jul 30, 2020
Trying to understand better, please let me know if I'm wrong about any of this:
Again, I'm not sure about any of the above, and would welcome any correction.
FWIW, I think we should tweet about this sooner rather than later, assuming all of my assumptions are true.
jmagman commentedon Jul 30, 2020
A little more context:
This crash is only relevant for physical iOS 14 devices and debug versions of the Flutter app. iOS 13 and below, simulators, and release versions of the app (so what end-customers will see) is unaffected.
The following does not work targeting an iOS 14 device:
flutter installthen launching the debug app manually from the home screenThe following does work on iOS 14:
flutter run --debugor an IDE like Android Studioios/Runner.xcworkspaceor an add-to-app host app)Yes, iOS 14 only.
Apple changed some kernel behavior that disallowed an API dart is relying on, and we assume it was a purposeful change on their side.
Yes, yes, and yes.
I'd like to hold off a bit until we decide how it will manifest to the user. We may be able to work around this issue completely (probably unlikely), and if not will likely show UI in the app that explains why what they tried won't work, and a link to documentation (tracked by this issue). \cc @zanderso
filiph commentedon Jul 30, 2020
Thanks, that's very helpful!
For what it's worth, while I think it's good to see if we can work around this quickly, we should not wait too long. Assuming this is happening to developers out there right now, and given the potentially frustrating aspect of "crashed while I was demoing my work to someone", I'd rather be proactive. I say let's make a decision by end of Thursday.
jmagman commentedon Jul 30, 2020
@filiph Responding quickly makes sense. We likely won't have anything working by Thursday, I definitely defer to whenever you and @zanderso think is best to get the word out. We don't plan to ship the next stable with this crash-on-launch behavior, I just don't want them to think that will be Flutter's expected behavior moving forward.
filiph commentedon Jul 30, 2020
Oh, additional question:
stableFlutter, correct? In other words, this does not affect onlydevormasterusers, it affects everyone, right? It looks like it from the linked bug (App crashes on launch on physical iOS 14 device in debug mode when debugger not attached, EXC_BAD_ACCESS (SIGKILL - CODESIGNING) #60657) — just making sure.jmagman commentedon Jul 30, 2020
Yes, all channels are impacted, including current stable.
jmagman commentedon Jul 31, 2020
Summary of this issue, and other iOS 14 annoyances:
Debug crash on launch
Flutter debug applications crash when manually launched from the home screen on a physical iOS 14 device. Add-to-app debug applications will crash when the Flutter module loads.
This will not impact release versions of the application, and is not visible to end-users.
Workarounds:
flutter runor an IDE like Android Studio.ios/Runner.xcworkspaceor an add-to-app host app).GitHub issue: #60657
Local network notification
The dart observatory in Flutter debug applications prompts a permission notification that your app "would like to find and connect to devices on your local network". To use hot reload, make sure to select "OK" instead of "Don't Allow".
This will not impact release versions of the application, and is not visible to end-users.
GitHub issue: #60634
Clipboard notifications
Flutter apps will show notifications that the app is pasting from your clipboard when no paste was initiated. This will impact released apps, and end-users will see this when running the app on iOS 14. A fix for this behavior will soon be available on the master channel.
GitHub issue: #60145
sfshaza2 commentedon Aug 5, 2020
I've handled this in PR flutter/website#4435. I've incorporated Jenn's feedback, but need approval.
sfshaza2 commentedon Aug 6, 2020
Merged.
pedromassangocode commentedon Aug 7, 2020
Is this still a valid issue?
jmagman commentedon Aug 7, 2020
I think @xster wanted more add-to-app documentation. flutter/website#4435 is a good start though!
xster commentedon Sep 17, 2020
Documented on https://flutter.dev/docs/development/ios-14 now.
kherldhussein commentedon Sep 18, 2020
Closed
PerrchicK commentedon Dec 31, 2020
Question, is everyone OK with this new behaviour? 😯
github-actions commentedon Aug 7, 2021
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of
flutter doctor -vand a minimal reproduction of the issue.