Integrating using Swift Package Manager
Swift Package Manager is not currently a supported integration path for RevealServer.
RevealServer must never be linked or embedded into builds that may be shipped to customers. Existing Reveal integration methods rely on build configuration gating, debugger loading, weak linking, and build-phase logic to ensure the framework is only present in intended debug builds.
At the time of writing — May, 2026 — Swift Package Manager does not currently provide a way to make a package product dependency conditional on an Xcode scheme or build configuration. Adding a binary package product to an app target makes it part of that target’s dependency graph, and Xcode does not expose a reliable equivalent to “link and embed this XCFramework only for Debug builds.”
Swift Package Manager also does not provide first-class weak-linking controls for binary package products, which — if they existed — might allow us to remove the framework in a post-build script phase.
Because of these limitations, a Swift Package Manager based RevealServer integration will always integrate into Release configuration builds if present, making it an unsuitable method of integration.