Fixing mac bot by explicitly setting the objective C sysroot (#414)

diff --git a/lib/src/header_parser/parser.dart b/lib/src/header_parser/parser.dart
index 2adbb0b..837d158 100644
--- a/lib/src/header_parser/parser.dart
+++ b/lib/src/header_parser/parser.dart
@@ -3,6 +3,7 @@
 // BSD-style license that can be found in the LICENSE file.
 
 import 'dart:ffi';
+import 'dart:io';
 
 import 'package:ffi/ffi.dart';
 import 'package:ffigen/src/code_generator.dart';
@@ -65,7 +66,10 @@
 
   /// If the config targets Objective C, add a compiler opt for it.
   if (config.language == Language.objc) {
-    compilerOpts.addAll(strings.clangLangObjC);
+    compilerOpts.addAll([
+      ...strings.clangLangObjC,
+      ..._findObjectiveCSysroot(),
+    ]);
   }
 
   _logger.fine('CompilerOpts used: $compilerOpts');
@@ -119,3 +123,15 @@
   clang.clang_disposeIndex(index);
   return bindings.toList();
 }
+
+List<String> _findObjectiveCSysroot() {
+  final result = Process.runSync('xcrun', ['--show-sdk-path']);
+  if (result.exitCode == 0) {
+    for (final line in (result.stdout as String).split('\n')) {
+      if (line.isNotEmpty) {
+        return ['-isysroot', line];
+      }
+    }
+  }
+  return [];
+}