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

SwiftCocoapodsIos14

Swift Problem Overview


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.

Swift Solutions


Solution 1 - Swift

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 - Swift

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

Solution 3 - Swift

rm -rf ~/Library/Developer/Xcode/DerivedData/
rm -rf ~/Library/Caches/CocoaPods/
pod deintegrate
pod update

Solution 4 - Swift

I solved by updating CocoaPods to the latest stable version, which is 1.9.3, running sudo gem install cocoapods.

After that i updated all my pods with pod update and updated the swift version in Podfile to the last available

> config.build_settings['SWIFT_VERSION'] = '5.3'

I checked that the Clang warnings where turned off in Pod's project tab AND GoogleDataTranport's target tag image. As mentioned in https://github.com/firebase/firebase-ios-sdk/issues/5987.

Finally I cleared the build folder with CMD+Shift+K and re-run the project with CMD+R

Solution 5 - Swift

https://github.com/firebase/firebase-ios-sdk/issues/5987

The error comes from a new recommended Xcode 12 build setting. We'll investigate an update to nanopb.

In the meantime a workaround is disabling the option in the generate Pods project Build Settings:

Solution 6 - Swift

It's a new warning setting in Xcode 12. The issue is gone after updating the pods. And it works until you apply the recommended settings which includes a new warning. After enabling the recommended warnings, the following setting is added to the project file (project.pbxproj), which breaks the compatibility with GoogleDataTransport:

CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;

So, for now, just update your pods and don't update the pods project to the recommended settings. Alternatively, you could update to recommended settings and manually reset the flag afterwards to NO.

Solution 7 - Swift

The solutions about setting the CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER didn't work for my XCode version that is 12.1. Then I checked my cococapods that was 1.9.3, updated to 1.10.1. After that it all started working.

Solution 8 - Swift

To fix this,

Goto Pods > build settings > search for "quoted include" > under "Quoted include in framework header" choose "No"

Xcode version 12.4

Cocoapod version 1.8.4

Exact place of this entry

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionChaudhry TalhaView Question on Stackoverflow
Solution 1 - SwiftPhillipJacobsView Answer on Stackoverflow
Solution 2 - SwiftiHSView Answer on Stackoverflow
Solution 3 - SwiftHaley HuynhView Answer on Stackoverflow
Solution 4 - SwiftlpizzinidevView Answer on Stackoverflow
Solution 5 - SwiftSantiagoView Answer on Stackoverflow
Solution 6 - SwiftcybergenView Answer on Stackoverflow
Solution 7 - SwiftYokuView Answer on Stackoverflow
Solution 8 - SwiftAkifView Answer on Stackoverflow