Skip to content

Missing required module 'UIKitNavigationShim' #3352

Closed
pointfreeco/swift-navigation
#225
@TobiasRe

Description

@TobiasRe

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.

image

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

  1. Create a project with a framework target
  2. Add TCA 1.14.0 as Package Dependency to the project
  3. Don't add TCA to the target - for building a framework that doesn't bundle TCA as binary
  4. Add TCA as Target Dependency of the framework
  5. 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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working due to a bug in the library.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions