2015-04-12 60 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

相關問題