I have a short question. I\'m looking for a way to execute code in Flutter when the app is in Debug mode. Is that possible in Flutter? I can\'t seem to find it anywhere in t
Not to be picky , but the foundation package includes a kDebugMode
constant;
So :
import 'package:flutter/foundation.dart' as Foundation;
if(Foundation.kDebugMode) {
print("App in debug mode");
}
While asserts technically works, you should not use them.
Instead, use the constant kReleaseMode
from package:flutter/foundation.dart
The difference is all about tree shaking
Tree shaking (aka the compiler removing unused code) depends on variables being constants.
The issue is, with asserts our isInReleaseMode
boolean is not a constant. So when shipping our app, both the dev and release code are included.
On the other hand, kReleaseMode
is a constant. Therefore the compiler is correctly able to remove unused code, and we can safely do:
if (kReleaseMode) {
} else {
// Will be tree-shaked on release builds.
}
These are the two steps to find out in which mode the application runs
Add the following imports for getting
import 'package:flutter/foundation.dart' as Foundation;
And kReleaseMode
check which mode the application is running
if(Foundation.kReleaseMode){
print('app release mode');
} else {
print('App debug mode');
}