Summary
swift-launchdarkly-observability cannot be used alongside dd-sdk-ios in the same SPM dependency graph. Every version of this package (0.1.0 through 0.34.1) triggers an unresolvable conflict.
Error
multiple packages ('opentelemetry-swift-core', 'opentelemetry-swift-packages') declare
targets with a conflicting name: 'OpenTelemetryApi'; target names need to be unique
across the package graph
Root cause
swift-launchdarkly-observability (0.10.0+) depends on opentelemetry-swift-core (official), which declares an OpenTelemetryApi target.
dd-sdk-ios depends on opentelemetry-swift-packages (DataDog's OTel fork), which also declares an OpenTelemetryApi target.
- SPM enforces globally unique target names, so the two packages cannot coexist.
Affected versions
All versions of swift-launchdarkly-observability. Tested with dd-sdk-ios 2.30.2 (the current latest).
Workarounds investigated
- DataDog's
OTEL_SWIFT=1 flag — switches DataDog to official opentelemetry-swift 1.13.0 (exact), but this is still incompatible with the opentelemetry-swift-core 2.3.0 requirement.
- Package.resolved pinning — Xcode's fresh resolver always hits the conflict; pinned states are invalidated on cache reset.
Possible fixes
- Vendor OTel internals directly so there is no transitive package conflict.
- Provide a pre-compiled XCFramework distribution that carries no SPM dependencies.
- Coordinate with DataDog to align on a single OTel package — either both use
opentelemetry-swift-core or both use DataDog's fork.
Environment
- Xcode 26 beta, iOS 16+ target
dd-sdk-ios 2.30.2
swift-launchdarkly-observability 0.1.0 (and confirmed same conflict on 0.34.1 Package.swift)
Summary
swift-launchdarkly-observabilitycannot be used alongsidedd-sdk-iosin the same SPM dependency graph. Every version of this package (0.1.0 through 0.34.1) triggers an unresolvable conflict.Error
Root cause
swift-launchdarkly-observability(0.10.0+) depends onopentelemetry-swift-core(official), which declares anOpenTelemetryApitarget.dd-sdk-iosdepends onopentelemetry-swift-packages(DataDog's OTel fork), which also declares anOpenTelemetryApitarget.Affected versions
All versions of
swift-launchdarkly-observability. Tested withdd-sdk-ios2.30.2 (the current latest).Workarounds investigated
OTEL_SWIFT=1flag — switches DataDog to officialopentelemetry-swift1.13.0 (exact), but this is still incompatible with theopentelemetry-swift-core2.3.0 requirement.Possible fixes
opentelemetry-swift-coreor both use DataDog's fork.Environment
dd-sdk-ios2.30.2swift-launchdarkly-observability0.1.0 (and confirmed same conflict on 0.34.1 Package.swift)