Description
Description
When integrating TCA 1.14.0 in a framework project, I'm facing issues regarding the UIKitNavigationShim
target.
Building the framework fails after upgrading from TCA 1.12.1 to 1.13.0 or above, having the compiler outputting.
missing required module 'UIKitNavigationShim'
This is a new behavior since the introduction of swift-navigation
inside of TCA.
This error occurs for framework targets that don't link TCA as a binary.
I've added a demo project to demonstrate the issue.
Build FrameworkWithoutTCA
to replicate the issue.
TCA 1.140.zip
Checklist
- I have determined whether this bug is also reproducible in a vanilla SwiftUI project.
- If possible, I've reproduced the issue using the
main
branch of this package. - This issue hasn't been addressed in an existing GitHub issue or discussion.
Expected behavior
The framework target builds successfully.
Actual behavior
The project fails to compile with the error:
missing required module 'UIKitNavigationShim'
Steps to reproduce
- Create a project with a framework target
- Add TCA 1.14.0 as Package Dependency to the project
- Don't add TCA to the target - for building a framework that doesn't bundle TCA as binary
- Add TCA as Target Dependency of the framework
- Build framework target
The Composable Architecture version information
0.14.0
Destination operating system
iOS 18
Xcode version information
Xcode 16.0.0 Beta 6
Swift Compiler version information
swift-driver version: 1.115 Apple Swift version 6.0 (swiftlang-6.0.0.9.10 clang-1600.0.26.2)