setBundleId method

  1. @override
Future<String?> setBundleId({
  1. required String bundleId,
})
override

Sets the bundle ID in the macOS AppInfo.xcconfig file.

Parameters:

  • bundleId: The new bundle ID to be set for the application.

Returns: Future<String?>, a success message indicating the change in bundle ID.

Implementation

@override
Future<String?> setBundleId({required String bundleId}) async {
  final filePath = macosAppInfoxprojPath;
  List? contentLineByLine = await readFileAsLineByline(
    filePath: filePath,
  );
  for (var i = 0; i < contentLineByLine.length; i++) {
    if (contentLineByLine[i].contains('PRODUCT_BUNDLE_IDENTIFIER')) {
      contentLineByLine[i] = 'PRODUCT_BUNDLE_IDENTIFIER = $bundleId';
    }
  }
  final message = await super.setBundleId(bundleId: bundleId);
  await writeFile(
    filePath: filePath,
    content: contentLineByLine.join('\n'),
  );
  return message;
}