buildIos method

Future<void> buildIos({
  1. String? flavor,
  2. String mainDartFile = 'lib/main.dart',
  3. FlutterBuildIosExtension extension = FlutterBuildIosExtension.ipa,
  4. bool obfuscate = true,
  5. String? splitDebugInfoPath = '.build/debug-info',
  6. int? buildNr,
  7. AppCenterUploadConfig? appCenterUploadConfig,
  8. TestFlightUploadConfig? testflightUploadConfig,
})

Implementation

Future<void> buildIos({
  String? flavor,
  String mainDartFile = 'lib/main.dart',
  FlutterBuildIosExtension extension = FlutterBuildIosExtension.ipa,
  bool obfuscate = true,
  String? splitDebugInfoPath = '.build/debug-info',
  int? buildNr,
  AppCenterUploadConfig? appCenterUploadConfig,
  TestFlightUploadConfig? testflightUploadConfig,
}) async {
  ImpaktfullCliEnvironment.requiresInstalledTools([
    CliTool.flutter,
    CliTool.cocoaPods,
    if (testflightUploadConfig != null) CliTool.xcodeSelect,
  ]);
  final file = await flutterBuildPlugin.buildIos(
    flavor: flavor,
    mainDartFile: mainDartFile,
    extension: extension,
    obfuscate: obfuscate,
    splitDebugInfoPath: splitDebugInfoPath,
    buildNr: buildNr,
  );
  if (appCenterUploadConfig != null) {
    await appCenterPlugin.uploadToAppCenter(
      file: file,
      appName: appCenterUploadConfig.appName,
      apiToken: appCenterUploadConfig.apiToken,
      ownerName: appCenterUploadConfig.ownerName,
      distributionGroups: appCenterUploadConfig.distributionGroups,
      notifyListeners: appCenterUploadConfig.notifyListeners,
    );
  }
  if (testflightUploadConfig != null) {
    await testflightPlugin.uploadToTestflightWithEmailPassword(
      file: file,
      email: testflightUploadConfig.credentials?.userName,
      appSpecificPassword:
          testflightUploadConfig.credentials?.appSpecificPassword,
      type: testflightUploadConfig.type,
    );
  }
}