Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I debug a Flutter Web App on Safari using the inspector?

I am using flutter to write a simple app, everything works fine on Android, iOS, and Chrome. (I've also tested on Firefox & Brave Browser, all's well).

However, on Safari (Mac & iOS), the flutter app gets stuck on the index.html file and does not load the PWA.

The error from the console on Safari Inspect

The error from the console on Safari Inspect

How can I know what the anonymous function in js_helper is, or what main.dart.js:57063 refers to?

  1. Is there any way of building for web without minifying?
  2. Has anybody encountered a scenario where everything works on all platforms except Safari?

Flutter Doctor Flutter Doctor

Log from console when running on local server enter image description here

like image 647
baselsader Avatar asked Oct 14 '20 11:10

baselsader


People also ask

Does Flutter web work on Safari?

Which web browsers are supported by Flutter? Flutter web apps can run on the following browsers: Chrome (mobile & desktop) Safari (mobile & desktop)

How do I run the Flutter app in debug mode?

By default, flutter run compiles to debug mode. Your IDE supports this mode. Android Studio, for example, provides a Run > Debug… menu option, as well as a green bug icon overlayed with a small triangle on the project page.

How do you debug a Flutter app on Iphone?

You need to go to your Settings > General > Device Management. Inside Device Management, select the developer name and tap Trust “YOUR DEVELOPER NAME”. You should now be able to run your Flutter app on your local device.


Video Answer


2 Answers

debug for safari is not supported yet

but for anyone with the same problem you could solve it by running the app on release mode

flutter run -d chrome --release

after that open with the same port on safari and everything should be fine

like image 65
Mejdi Clubiste Avatar answered Oct 18 '22 06:10

Mejdi Clubiste


You won't be able to debug it directly on Safari, but if you just want to test your app in safari with localHost, you can use these steps :

  1. Enable 'developer' menu in Safari from settings of Safari :

enter image description here

  1. Then check on 'Disable Cross-Origin restrictions"

enter image description here

  1. Now after running release version of web app in chrome, use same app's address in Safari, you will be able to test it. Ex. http://localhost:51155/

to run in release mode : flutter run -d chrome --release

Hope this helps!

like image 1
NehaK Avatar answered Oct 18 '22 06:10

NehaK