Flutter удаляет код режима отладки при компиляции для релиза? - PullRequest
0 голосов
/ 09 ноября 2018

Мне интересно, безопасно ли размещать пароли непосредственно в коде Dart, как показано ниже. Flutter удаляет код при компиляции? Конечно, я хочу убедиться, что код нельзя декомпилировать так, чтобы можно было извлечь имя пользователя и пароль.

bool get isInDebugMode {
  bool inDebugMode = false;
  assert(inDebugMode = true);
  return inDebugMode;
}

if(inDebugMode){
  emailController.text = 'random@email.com';
  passwordController.text = 'secret';
}

Ответы [ 2 ]

0 голосов
/ 09 ноября 2018

Код, который вы указали, не будет потрясен деревом. Поскольку isInDebugMode не является константой.

Вместо этого вы можете использовать assert следующим образом:

assert(() {
  emailController.text = 'random@email.com';
  passwordController.text = 'secret';
  return true;
}());
0 голосов
/ 09 ноября 2018

При встряхивании дерева этот код удаляется, когда inDebugMode является постоянным значением.

"безопасное" - это сильное слово для этого, хотя даже когда дрожание дерева удаляет код.
Вы можете сделать ошибку, которая заставит тряску дерева сохранить код.
Вы, вероятно, передаете код в репозиторий CVS.
...

Вы можете использовать

  • постоянное значение
const bool isProduction = bool.fromEnvironment('dart.vm.product');
if(isProduction) {
  ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...