patchIosSplash method
Handles the iOS LaunchScreen.storyboard renaming to avoid cache issues.
Implementation
Future<void> patchIosSplash(String appName) async {
final storyboardFile = File(
p.join(
projectDir, 'ios', 'Runner', 'Base.lproj', 'LaunchScreen.storyboard'),
);
if (!storyboardFile.existsSync()) return;
print('🍎 Patching iOS LaunchScreen for $appName...');
var content = await storyboardFile.readAsString();
// Replace default LaunchImage reference with a unique one per client
content = content.replaceAll('LaunchImage', 'LaunchImage$appName');
// De-duplicate lines (common issue with splash_master)
final lines = content.split('\n');
final uniqueContent = lines.toSet().toList().join('\n');
await storyboardFile.writeAsString(uniqueContent);
}