findPodfileDirs function
Returns directories containing a Podfile, searching common locations:
<root>/ios/, <root>/macos/, <root>/example/ios/, <root>/example/macos/,
and any direct child */ios/ or */macos/.
Implementation
List<String> findPodfileDirs(String projectRoot) {
final candidates = [
p.join(projectRoot, 'ios'),
p.join(projectRoot, 'macos'),
p.join(projectRoot, 'example', 'ios'),
p.join(projectRoot, 'example', 'macos'),
];
try {
for (final entity in Directory(projectRoot).listSync()) {
if (entity is Directory) {
candidates.add(p.join(entity.path, 'ios'));
candidates.add(p.join(entity.path, 'macos'));
}
}
} catch (_) {}
return candidates
.where((dir) => File(p.join(dir, 'Podfile')).existsSync())
.toList();
}