在运行期间检测应用程序是否处于释放模式

时间:2015-04-12 18:13:59

标签: build dart

我在Dart应用程序中得到了一堆测试和调试内容,我想确保在使用pub构建发布版本时禁用这些内容。

是否有任何常量或其他方法来检查当前运行的应用程序版本是否为发布版本?

示例:

if (!IS_BUILD) {
   performAutomatedDummyLogin()
} else {
   login();
}

2 个答案:

答案 0 :(得分:7)

assert(...);中的代码仅在已检查(开发)模式下执行。当您在发布模式下运行或在发布模式下运行时,此代码不会被执行。

bool isRelease = true;
assert(() {
  isRelease = false;
  return true;
});

if(isRelease) {
 ...
} 

另见

答案 1 :(得分:0)

我建议使用DEBUG。我更喜欢这种方法,因为它不需要另一个变量来包含isDebug或isRelease。

// release mode only
#if !Debug
    MessageBox.Show("Release mode");
#endif

// debug mode only
#if Debug
    MessageBox.Show("Debug mode");
#endif

// debug and release mode with sample values
#if DEBUG
   int[] data = new int[] {1, 2, 3, 4};
#else
   int[] data = GetInputData();
#endif
// actual code that follows after the variable setting
int sum = data[0];
for (int i= 1; i < data.Length; i++)
{
   sum += data[i];
}

有关参考,请参见link