fixes
diff --git a/pkgs/swiftgen/example/generate_code.dart b/pkgs/swiftgen/example/generate_code.dart
index 0012126..9f444d5 100644
--- a/pkgs/swiftgen/example/generate_code.dart
+++ b/pkgs/swiftgen/example/generate_code.dart
@@ -15,8 +15,6 @@
     stderr.writeln('${record.level.name}: ${record.message}');
   });
 
-  final includes = {'AVAudioPlayer'};
-
   await SwiftGenerator(
     target: Target(
       triple: 'x86_64-apple-macosx14.0',
@@ -25,10 +23,7 @@
       ),
     ),
     inputs: [SwiftModuleInput(module: 'AVFAudio')],
-    include: (d) {
-      print('>>>>>> ${d.name}');
-      return includes.contains(d.name);
-    },
+    include: (d) => d.name == 'AVAudioPlayer',
     objcSwiftFile: Uri.file('avf_audio_wrapper.swift'),
     tempDirectory: Uri.directory('temp'),
     outputModule: 'AVFAudioWrapper',
@@ -56,7 +51,7 @@
 // coverage:ignore-file
 ''',
     ),
-  ).generate(logger);
+  ).generate(logger: logger);
 
   final result = Process.runSync('swiftc', [
     '-emit-library',
diff --git a/pkgs/swiftgen/lib/src/generator.dart b/pkgs/swiftgen/lib/src/generator.dart
index 461979e..c2f6c3b 100644
--- a/pkgs/swiftgen/lib/src/generator.dart
+++ b/pkgs/swiftgen/lib/src/generator.dart
@@ -13,14 +13,15 @@
 import 'util.dart';
 
 extension SwiftGenGenerator on SwiftGenerator {
-  Future<void> generate(Logger logger) async {
+  Future<void> generate({required Logger? logger}) async {
+    logger ??= Logger.detached('dev/null')..level = Level.OFF;
     Directory(absTempDir).createSync(recursive: true);
     final swift2objcConfigs = inputs
         .map((input) => input.swift2ObjCConfig)
         .nonNulls
         .toList();
     if (swift2objcConfigs.isNotEmpty) {
-      await _generateObjCSwiftFile(swift2objcConfigs);
+      await _generateObjCSwiftFile(swift2objcConfigs, logger);
     }
     await _generateObjCFile();
     _generateDartFile(logger);
@@ -31,15 +32,14 @@
 
   Future<void> _generateObjCSwiftFile(
     List<swift2objc.InputConfig> swift2objcConfigs,
-  ) => swift2objc.generateWrapper(
-    swift2objc.Config(
-      inputs: swift2objcConfigs,
-      include: include ?? (d) => true,
-      outputFile: objcSwiftFile,
-      tempDir: tempDir,
-      preamble: objcSwiftPreamble,
-    ),
-  );
+    Logger logger,
+  ) => swift2objc.Swift2ObjCGenerator(
+    inputs: swift2objcConfigs,
+    include: include ?? (d) => true,
+    outputFile: objcSwiftFile,
+    tempDir: tempDir,
+    preamble: objcSwiftPreamble,
+  ).generate(logger: logger);
 
   Future<void> _generateObjCFile() => run('swiftc', [
     '-c',
diff --git a/pkgs/swiftgen/test/integration/util.dart b/pkgs/swiftgen/test/integration/util.dart
index f15d8a2..5a62745 100644
--- a/pkgs/swiftgen/test/integration/util.dart
+++ b/pkgs/swiftgen/test/integration/util.dart
@@ -42,7 +42,7 @@
   TestGenerator(this.name) {
     testDir = path.absolute(path.join(pkgDir, 'test/integration'));
     tempDir = path.join(testDir, 'temp');
-    inputFile = path.join(testDir, '${name}.swift');
+    inputFile = path.join(testDir, '$name.swift');
     wrapperFile = path.join(tempDir, '${name}_wrapper.swift');
     outputFile = path.join(tempDir, '${name}_output.dart');
     outputObjCFile = path.join(tempDir, '${name}_output.m');
@@ -53,13 +53,14 @@
     actualOutputFile = path.join(testDir, '${name}_bindings.dart');
   }
 
-  Future<void> generateBindings() async => SwiftGen(
+  Future<void> generateBindings() async => await SwiftGenerator(
     target: await hostTarget,
     inputs: [
       SwiftFileInput(module: name, files: [Uri.file(inputFile)]),
     ],
     objcSwiftFile: Uri.file(wrapperFile),
     tempDirectory: Directory(tempDir).uri,
+    outputModule: name,
     ffigen: FfiGenConfig(
       output: Uri.file(outputFile),
       outputObjC: Uri.file(outputObjCFile),
@@ -80,7 +81,7 @@
 // coverage:ignore-file
 ''',
     ),
-  ).generate(Logger.root..level = Level.SEVERE);
+  ).generate(logger: Logger.root..level = Level.SEVERE);
 
   Future<void> generateAndVerifyBindings() async {
     // Run the generation pipeline. This produces the swift compatability