Xcode 12 Framework: 'Double-quoted include in framework header, expected angle-bracketed instead'

I've got an iOS framework that I've had around for ages. It's a mixture of Objective-C and Swift.

Since installing Xcode 12, I'm now getting a bunch of warnings of the type:

'Double-quoted include in framework header, expected angle-bracketed instead'

If I go to the various source files and say change:

Code Block
#import "Place.h"

to

Code Block
#import <VegasKit/Place.h>

then I get an error saying it can't find the file. If I try this:

Code Block
#import <Place.h>

then I get an error telling me to go back to double-quotes, i.e. undo the change.

Any idea what I can do to get this all setup correctly? Thanks.

Post marked as unsolved Up vote post of Hunter Down vote post of Hunter
859 views

9 Replies

I ran into a similar issue when building my project in AppCenter. rgkobashi's solution seems to be the right answer
https://developer.apple.com/forums/thread/651941?answerId=640461022#640461022

I already had this version on my local machine so builds were working fine. Then AppCenter kept throwing the OP's error. If you're getting this locally, upgrade CocoaPods. If your CI is getting this error, force the CocoaPods version to 1.10.0.rc.1.

In AppCenter that would be done by creating a appcenter-post-clone.sh file and adding these lines
Code Block
echo "uninstalling all cocoapods versions"
sudo gem uninstall cocoapods --all
echo "installing cocoapods version 1.10.0.rc.1"
sudo gem install cocoapods -v 1.10.0.rc.1

This is because Xcode 12 expects to use imports with <> instead of "" on umbrella headers. Thus this is a cocoapods issue, you can find more info here.

The fix I used was using the latest version of cocoapods which has this fix, as for now 1.10.0.rc.1.
We have the same problem on Xcode 12.
Worked for me:
Code Block
rm -rf ~/Library/Developer/Xcode/DerivedData/
rm -rf ~/Library/Caches/CocoaPods/
pod deintegrate
pod update

env:
Code Block
CocoaPods : 1.9.3
Ruby : ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin19]
RubyGems : 3.0.3
Host : Mac OS X 10.15.7 (19H2)
Xcode : 12.0.1 (12A7300)
Git : git version 2.24.3 (Apple Git-128)
Ruby lib dir : /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib


Xcode 12 GM does this too. Has anyone found a reasonable fix???
This finally helped to solve the issue:
rm -rf ~/Library/Developer/Xcode/DerivedData/
rm -rf ~/Library/Caches/CocoaPods/
pod deintegrate
pod update

https://stackoverflow.com/questions/58540898/update-my-pod-causes-error-in-googledatatransport-umbrella-header

Although my app builds now in Xcode 12 beta 5, there are a lot of runtime errors suddenly that did not occur under Xcode 11.6... ok, this is a bit off-topic here.
I encountered the same issue but the compiler throws errors, not just warnings, so the build fails. I use Firebase which is at least partially written in objective-c. The errors occur in the nanopb-umbrella.h header file in the pod nanopb which is apparently a dependency of GoogleDataTransport which is in itself a dependency of Firebase. When I replace the import header angle brackets with quotes, the compiler complains that the quotes should be replaced with angled brackets. No idea how to resolve this issue.

I created a test project in Xcode 12 (the other one I began with Xcode 11 and I would like to continue supporting iOS 13 for a while..) and added all Firebase pods. The project builds without any problem. When I check the nanopb-umbrella.h file... I find quotes instead of angled brackets!
I tried to replace angled brackets with double quotes manually, but then the build fails again and the errors say 'expected angled brackets instead'. Very contradictory indeed....
Any hints in the right direction would be welcome.
Did you managed to resolve your issue ?
I am experiencing this exact issue. Not sure how to resolve this now, short of setting the CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER build setting to NO.