getsentry/sentry-cocoa

Lots of build warnings: Double-quoted include "SentryAttachment.h" in framework header, expected angle-bracketed instead

matthewreimer opened this issue · 8 comments

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.