build method

  1. @override
Future<String?> build()
override

Build the artifact for iOS. Not supported as it requires signing.

Implementation

@override
Future<String?> build() async {
  FlutterBuild flutterBuild = this.flutterBuild;
  final buildMetadata =
      flutterBuild.buildVersion.build.map((b) => b.toString()).join('.');
  if (int.tryParse(buildMetadata) == null) {
    if (buildMetadata.isNotEmpty) {
      _logger.warning(
          'Non integer values for build metadata are not supported on iOS. Omitting "$buildMetadata".');
    }
    flutterBuild = flutterBuild.copyWith(
        buildVersion: flutterBuild.buildVersion.copyWith(build: null));
  }

  return switch (buildType) {
    BuildType.ios => _buildIosApp(flutterBuild),
    BuildType.ipa => _buildIosIpa(flutterBuild),
    _ => throw UnsupportedError(
        'BuildType $buildType is not available for iOS!'),
  };
}