GoogleDataTransport is throwing Double-quoted include in framework header expected angle-bracketed error on iOS14

I've just update XCode to Version 12 and I'm using Firebase. I've updated pods as well but when I build the project it's giving me error:

Double-quoted include "pb.h" in framework header, expected angle-bracketed instead

These errors are multiple and in the pod of GoogleDataTransport

enter image description here

Even if I replace "" with <> it still doesn't go away.


Solution 1:

Apparently installing cocoapods version 1.10.0 fixes it all. 
If that doesn't work for you, please continue reading. 
There's lots of temp fixes that'll definitely work for you. 
Here's the command to uninstall and reinstall that 1.10.1 version:

gem uninstall cocoapods; gem install cocoapods -v '1.10.1'

ONLY CONTINUE READING IF THE ABOVE DIDN'T WORK FOR YOU.

If you are an experienced Xcode user, just look at the image below, you'll know exactly what to do, else feel free to follow the detailed steps.

If updating cocoapods didn't work for you, try this...which worked for me.

Please note: This is a workaround. Once cocoapods fix this in future releases, please update cocoapods instead of doing the workaround.

@iHS has a great temp cocoapods fix

@haley-huynh has a great cocoapods update example.

@bogdan-razvan Said that running sudo gem install cocoapods fixed the problem for him ... Maybe give it a shot if not already!

All of those are worth giving a shot before this workaround.

With that said, we don't always have time to wait for fix releases 🙄...So open Xcode and let's get to the workaround.

Step 1: Navigate

  • In your navigator (Project files on the left), click on Pods (It usually has this blue xcode file next to it). Once you clicked on it, it should have opened the pods targets and settings on the right.

Step 2: Build Settings

  • Select Build Settings and then also make sure All is selected out of the three build settings filter types (Basic, Customized and All)

Step 3: Search

  • In the build settings, search for quoted include.
  • You should now see the setting Quoted Include In Framework Header

Step 4: Set to No

  • Change the value of the setting Quoted Include In Framework Header to No

Step 4: Rebuild

  • Rebuild that sexy project of yours!

Step 5: Don't be fooled

  • After rebuilding your project. If you still see errors, make sure to checkout what those errors are because it surely isn't the quote errors.

He's a picture for some visual stimulation: visual representation of the steps to fix

Solution 2:

Looks like this issue is fixed as part of Cocoapods 1.10.1 (not officially released, as of this writing). However, you can use Cocoapods version 1.10.0.rc.1 temporarily until 1.10.1 is officially available.

gem install cocoapods -v '1.10.0.rc.1'

Alternative solution

Another option is to update your Podfile (add below code) to disable the warning flag CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER setting for all pods in your project.

post_install do |installer|
  installer.generated_projects.each do |project|
    project.targets.each do |target|
      target.build_configurations.each do |config|
          config.build_settings['CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER'] = 'NO'
      end
    end
  end
end