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 {
  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.buildVersion =
        flutterBuild.buildVersion.copyWith(build: null);
  }

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