2015-04-12 59 views
4

我在Dart应用程序中有一堆测试和调试的东西,我想确保这些类型的东西在我用pub创建发行版时被禁用。在运行时检测应用程序是否处于发布模式

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

实施例:

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

回答

4

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

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

if(isRelease) { 
... 
} 

+2

看到如果更改布尔是'isChecked',你可以把它缩短:'布尔isChecked = false; assert((isChecked = true));'。但是,您仍然可以通过执行'assert(!(isRelease = false))'来避免'isRelease'的额外函数语法。 – lrn

+1

对,我试图明确表达式需要返回'true'。 –

+2

教学原因是一个很好的论点,所以把我的评论作为额外的提示给我们这些喜欢优化大小的人:) – lrn

相关问题