Lots of build warnings: Double-quoted include "SentryAttachment.h" in framework header, expected angle-bracketed instead
Platform
iOS
Environment
Production, Develop, TestFlight, Other
Installed
Swift Package Manager
Version
8.25.0
Did it work on previous versions?
8.21.0
Steps to Reproduce
Build an app that's using Sentry SDK via SPM. This might be the same issue as one you've fixed before in #1072.
Expected Result
No build warnings
Actual Result
Double-quoted include "SentryAttachment.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryDefines.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryBreadcrumb.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryDefines.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySerializable.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryDefines.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryClient.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryDefines.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryCrashExceptionApplication.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryDebugImageProvider.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryDebugMeta.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySerializable.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryDefines.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryDsn.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryEnvelopeItemHeader.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySerializable.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryError.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryDefines.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryEvent.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryDefines.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySerializable.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryException.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryDefines.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySerializable.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryFrame.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySerializable.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryGeo.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryDefines.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySerializable.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryHttpStatusCodeRange.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryDefines.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryHub.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryDefines.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySpanProtocol.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryDefines.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySerializable.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySpanContext.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryDefines.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySampleDecision.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySerializable.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySpanStatus.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryMeasurementUnit.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryDefines.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryMechanism.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryDefines.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySerializable.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryMechanismMeta.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryDefines.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySerializable.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryMessage.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryDefines.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySerializable.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryNSError.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryDefines.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySerializable.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryOptions.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryDefines.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryProfilingConditionals.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryRequest.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryDefines.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySerializable.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySDK.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryDefines.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySampleDecision.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySamplingContext.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryScope.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryDefines.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySerializable.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySpanProtocol.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySerializable.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySpanContext.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySpanId.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySpanProtocol.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySpanStatus.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryStacktrace.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryDefines.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySerializable.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryThread.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryDefines.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySerializable.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryTraceHeader.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryDefines.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySampleDecision.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryTransactionContext.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySampleDecision.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySpanContext.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryUser.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryDefines.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySerializable.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryUserFeedback.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentryDefines.h" in framework header, expected angle-bracketed instead
Double-quoted include "SentrySerializable.h" in framework header, expected angle-bracketed instead
Are you willing to submit a PR?
Maybe
@matthewreimer, which Xcode version are you using?
@philipphofmann Version 15.3 (15E204a).
@philipphofmann I just tried 15.4 (15F31d) and I get the same warnings. I'm using SentrySwiftUI if that matters.
More info:
While building module 'Sentry' imported from /path/to/my/project/Classes/MassiveTextView/MassiveTextView.m:24:
In file included from <module-includes>:1:
/path/to/my/deriveddata/Build/Products/Debug-iphoneos/Sentry.framework/Headers/Sentry.h:9:9: warning: double-quoted include "SentryAttachment.h" in framework header, expected angle-bracketed instead [-Wquoted-include-in-framework-header]
#import "SentryAttachment.h"
^~~~~~~~~~~~~~~~~~~~
<Sentry/SentryAttachment.h>
...
This happens when importing from Objective-C code like this:
@import Sentry;
Can Sentry.h and friends be changed from #include "SentryAttachment.h" to #include <Sentry/SentryAttachment.h>` or whatever is correct for all these? This problem floods our logs with almost 100 build warnings, which makes it harder to notice the real build warnings among all the noise.
The number of build warnings has improved with Sentry 8.32.0, but @import Sentry; still results in 54 build warnings.
The public Sentry.h is now using bracket-quoted includes (e.g. #import <Sentry/SentryAttachment.h>) but the imported file continues to use double-quotes (e.g. SentryAttachment.h has #import "SentryDefines.h"). I think all the included header files also need to be changed to use bracket quotes.
Should I file a new issue, or should this issue be reopened?
We should use minimal imports and rely more on forward declarations instead. We will tackle this, but there is no ETA as of now
Same issue:
Error (Xcode): double-quoted include "FBLPromise+Race.h" in framework header, expected angle-bracketed instead /Users/user/Flutterprojects/appName/ios/Pods/PromisesObjC/Sources/FBLPromises/include/FBLPromises.h:24:8
and when I try to fix it
I also changed the clang_warn_quoted to 'no' everywhere
Hello @Kemberz. Your problem is not related to Sentry.