㈠ Flutter設置APP版本與構建版本
當一個純Flutter APP開發完成,我們要打包發布到App Store和各大安卓市場,這時候我們需要設置APP的版本號。
如果我們在使用原生iOS或者android開發的時,我們會在info.plist中設置 version 和 build 或是在build.gradle中設置 versionName 和 versionCode ,他們分別表示APP的版本和構建版本。
但是我們在使用Flutter管理APP版本時,打開 pubspec.yaml 只看到一個 version 欄位。這時候我們應該怎麼設置APP的 version 和 build 呢?
我們在pub上隨便找一個Flutter的組件,例如官方的 camera ,我們可以看到截止目前為止最新的版本為: camera: ^0.5.2+1 。看到這里,我想大家都明白了,Dart採用的是加號式的版本描述方式, + 前面是版本號, + 後面是當前版本的build號。所以我們設置APP的版本號和build次數,在這里設置即可,例如: version: 1.2.0+1 。
當我們新建一個Flutter工程的時候,我們分別使用Xcode和Android Studio打開iOS和Android的工程可以看到,iOS中的 version 和 build 的值分別為 FLUTTER_BUILD_NAME 和 FLUTTER_BUILD_NUMBER :
同樣我們打開Android工程可以看到有如下定義:
事實上,Flutter在編譯的時候會生成 ios/Flutter/Generated.xcconfig 和 android/local.properties 文件。這兩個文件由Flutter編譯自動生成,不可更改。記錄了包含SDK路徑或者文件路徑,版本信息,環境配置(release/debug)等信息。原生工程獲取版本信息的變數就定義在這兩個文件裡面。