Skip to content

fix(ios): remove Xcode 26 modulemap stripping workaround#239

Merged
mfazekas merged 1 commit intofeat/rive-ios-experimentalfrom
fix/remove-modulemap-workaround
May 4, 2026
Merged

fix(ios): remove Xcode 26 modulemap stripping workaround#239
mfazekas merged 1 commit intofeat/rive-ios-experimentalfrom
fix/remove-modulemap-workaround

Conversation

@mfazekas
Copy link
Copy Markdown
Collaborator

Removes the workaround that stripped the RiveRuntime.Swift submodule from modulemaps to avoid ODR conflicts. No longer needed since the upstream XCFramework switched from C++/ObjC++ interop to C/ObjC interop — the generated Swift header no longer emits swift:: namespace types.

Tested building with both Xcode 16.4 and Xcode 26.2 with the unstripped modulemap — no ODR errors.

Note: This PR depends on a RiveRuntime XCFramework built with C/ObjC interop. If the build fails with ODR errors like 'swift::Optional::init' has different definitions in different modules, the workaround still needs to be re-added (revert this PR). You can verify by checking grep -c 'namespace swift' RiveRuntime-Swift.h — it should be 0.

No longer needed since RiveRuntime XCFramework switched from C++/ObjC++
interop to C/ObjC interop — the generated Swift header no longer contains
swift:: namespace types that caused ODR conflicts across Xcode versions.
@mfazekas mfazekas changed the base branch from main to feat/rive-ios-experimental May 4, 2026 13:32
@mfazekas mfazekas merged commit e443ed0 into feat/rive-ios-experimental May 4, 2026
11 checks passed
@mfazekas mfazekas deleted the fix/remove-modulemap-workaround branch May 4, 2026 13:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant