findEntitlements static method

File? findEntitlements(
  1. String projectPath,
  2. ProjectType projectType
)

Find entitlements file for iOS/Flutter projects

Implementation

static File? findEntitlements(String projectPath, ProjectType projectType) {
  if (projectType == ProjectType.flutter) {
    final paths = [
      path.join(projectPath, 'ios', 'Runner', 'Runner.entitlements'),
    ];
    for (final p in paths) {
      final file = File(p);
      if (file.existsSync()) return file;
    }
  } else if (projectType == ProjectType.ios) {
    // Search for .entitlements files
    final dir = Directory(projectPath);
    final files = dir.listSync(recursive: true).whereType<File>();
    for (final file in files) {
      if (file.path.endsWith('.entitlements')) {
        return file;
      }
    }
  } else if (projectType == ProjectType.reactNative) {
    final iosDir = Directory(path.join(projectPath, 'ios'));
    if (iosDir.existsSync()) {
      for (final file in iosDir.listSync(recursive: true).whereType<File>()) {
        if (file.path.endsWith('.entitlements') &&
            !file.path.contains('/Pods/') &&
            !file.path.contains('/build/')) {
          return file;
        }
      }
    }
  }
  return null;
}