execute method

  1. @override
Future<void> execute()
override

Implementation

@override
Future<void> execute() async {
  if (config.enableAndroid) {
    print("🤖 Updating Android App Label...");
    final manifest = File('android/app/src/main/AndroidManifest.xml');
    if (manifest.existsSync()) {
      var content = manifest.readAsStringSync();
      content = content.replaceAll(
        RegExp(r'android:label="[^"]*"'),
        'android:label="${config.appName}"',
      );
      manifest.writeAsStringSync(content);
    }
  }

  if (config.enableIOS) {
    print("🍎 Updating iOS App Name...");
    final plist = File('ios/Runner/Info.plist');
    if (plist.existsSync()) {
      var content = plist.readAsStringSync();
      content = content.replaceAll(
        RegExp(r'<key>CFBundleName</key>\s*<string>[^<]*</string>'),
        '<key>CFBundleName</key>\n\t<string>${config.appName}</string>',
      );
      content = content.replaceAll(
        RegExp(r'<key>CFBundleDisplayName</key>\s*<string>[^<]*</string>'),
        '<key>CFBundleDisplayName</key>\n\t<string>${config.appName}</string>',
      );
      plist.writeAsStringSync(content);
    }
  }
}