Je suis en train de développer une application qui est actuellement en mode bêta. De ce fait, j'aimerais leur montrer sur quelle version ils se trouvent. Par exemple, "v1.0b10 - iOS". Jusqu'à présent, j'ai obtenu ce code : Text("Build: V1.0b10 - " + (Platform.isIOS ? "iOS" : "Android"))
. Comment pourrais-je obtenir la version et le numéro de construction dans Flutter ?
Réponses
Trop de publicités?Vous pouvez utiliser paquet_info_plus .
Les versions sont extraites de :
Android :
build.gradle, versionCode and versionName
iOS :
Info.plist, CFBundleVersion
Utilisation
Ajouter la dépendance
-
Ajoutez ceci au fichier pubspec.yaml de votre paquet :
dependencies: package_info_plus: ^1.0.6
-
Importez le fichier dans votre fichier dart :
import 'package:package_info_plus/package_info_plus.dart';
-
si votre méthode est marquée comme
async
:PackageInfo packageInfo = await PackageInfo.fromPlatform();
String appName = packageInfo.appName; String packageName = packageInfo.packageName; String version = packageInfo.version; String buildNumber = packageInfo.buildNumber;
Si vous ne voulez pas utiliser await/async
:
PackageInfo.fromPlatform().then((PackageInfo packageInfo) {
String appName = packageInfo.appName;
String packageName = packageInfo.packageName;
String version = packageInfo.version;
String buildNumber = packageInfo.buildNumber;
});
_Nota : Cette réponse a été mise à jour pour refléter le fait que la informations sur les paquets est déprécié et redirige vers le plugin paquet_info_plus ._
Nom de la version et numéro de build
Au moment du développement, vous pouvez facilement trouver le nom de la version et le numéro de build d'un projet Flutter ou Dart en inspectant les pages suivantes pubspec.yaml . Voici un exemple :
version: 1.1.0+2
Dans ce cas, le nom de la version est 1.1.0
et le numéro de construction est 2
.
Toutefois, si vous souhaitez obtenir ces valeurs au moment de l'exécution, vous devez utiliser un plugin.
Ajouter la dépendance
En pubspec.yaml ajouter le package_info_plus
paquet.
dependencies:
package_info_plus: ^1.0.2
Mettez à jour le numéro de version à la actuel un.
Importez le paquet
Dans le fichier dont vous avez besoin, ajoutez l'importation suivante.
import 'package:package_info_plus/package_info_plus.dart';
Obtenir le nom et le code de la version
Dans votre code, vous pouvez obtenir le nom de la version de l'application et le code comme ceci :
PackageInfo packageInfo = await PackageInfo.fromPlatform();
String version = packageInfo.version;
String code = packageInfo.buildNumber;
Voir aussi
Installer paquet_info_plus Vous pouvez ensuite l'utiliser directement avec le Future Builder dans votre arborescence de widgets :
FutureBuilder<PackageInfo>(
future: PackageInfo.fromPlatform(),
builder: (context, snapshot) {
switch (snapshot.connectionState) {
case ConnectionState.done:
return Align(
alignment: Alignment.bottomCenter,
child: Text(
'Version: ${snapshot.data!.version}',),
);
default:
return const SizedBox();
}
},
),
RE les multiples références à package_info
veuillez noter que ce paquet a été déprécié et que le remplacement recommandé est le paquet Plugins de la communauté Flutter Plus version, paquet_info_plus .
Pour l'utiliser en ligne de commande ou en CLI, vous avez besoin d'un code Dart pur.
J'ai utilisé le script suivant :
// ignore_for_file: avoid_print
import 'dart:io';
import 'package:path/path.dart';
import 'package:yaml/yaml.dart';
String pathToYaml = join(dirname(Platform.script.toFilePath()), '../pubspec.yaml');
Future<YamlMap> loadPubspec() async => loadYaml(await File(pathToYaml).readAsString());
void main() async {
var pubspec = await loadPubspec();
print(pubspec['version'].toString().split('+')[0]);
}
Vous pouvez l'exécuter à partir du dossier racine du projet :
dart run scripts/get_version_name.dart
- Réponses précédentes
- Plus de réponses
1 votes
Voir ce lien : blog.maskys.com/how-to-get-the-version-build-number