fix(build): link WebRTC.xcframework into iOS Kotlin/Native test binaries#317
Merged
fix(build): link WebRTC.xcframework into iOS Kotlin/Native test binaries#317
Conversation
Without this, `:composeApp:linkDebugTest*` (and every iOS test target downstream of it — `iosArm64Test`, `iosSimulatorArm64Test`, `iosX64Test`) fails with `ld: framework 'WebRTC' not found`, blocking iOS test execution entirely. The main framework is built static and defers WebRTC resolution to the iOS app's final Xcode link, where `iosApp/Frameworks/WebRTC.xcframework` is on the framework search path. K/N test executables are standalone binaries linked by `ld` directly and don't go through that wiring, so we point them at the matching slice of the bundled XCFramework: - Device (iosArm64) → `ios-arm64` - Simulator (iosSimulatorArm64, iosX64) → `ios-arm64_x86_64-simulator` Verified: `linkDebugTestIosArm64`, `linkDebugTestIosSimulatorArm64`, and `iosSimulatorArm64Test` all succeed against the failure reproduced on clean origin/dev. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
formatBCE
approved these changes
May 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I left the comment long on this one, because it's non-obvious why we have to do this even though none of the iOS tests actually test WebRTC (at least, as of now). I can trim it down if you want.
Without this,
:composeApp:linkDebugTest*(and every iOS test target downstream of it —iosArm64Test,iosSimulatorArm64Test,iosX64Test) fails withld: framework 'WebRTC' not found, blocking iOS test execution entirely.The main framework is built static and defers WebRTC resolution to the iOS app's final Xcode link, where
iosApp/Frameworks/WebRTC.xcframeworkis on the framework search path. K/N test executables are standalone binaries linked bylddirectly and don't go through that wiring, so we point them at the matching slice of the bundled XCFramework:ios-arm64ios-arm64_x86_64-simulatorVerified:
linkDebugTestIosArm64,linkDebugTestIosSimulatorArm64, andiosSimulatorArm64Testall succeed against the failure reproduced on clean origin/dev.