I like to build with warnings treated as errors, however sometimes this can cause unexpected headaches.

I was trying to use the Google SignIn Swift Package in my Mac App, and kept getting Umbrella header for module ‘GoogleSignIn’ does not include header ‘GIDSignInButton.h on the Objective C Bridging Header GoogleSignIn.h

Sure enough the import of the GIDSignInButton.h was indeed #ifdefed out:


…
#import "GIDSignInResult.h"
#if TARGET_OS_IOS || TARGET_OS_MACCATALYST
#import "GIDSignInButton.h"
#endif

I was (of course) sure that I was doing something wrong, and indeed when I built the sample they have it built without errors.

It was only when I navigated to their sample’s GoogleSignIn.h file that I saw there was a warning … then it clicked … I’d enabled treating warnings as errors….

The solution was this Stackoverflow post … “Add -Xcc and -Wno-incomplete-umbrella to “Other Swift Flags” (in that order).” in the build settings.

I must remember that errors might just be warnings in disguise.