When a precompiled xcframework ships a module.modulemap, its slice headers are no longer added to HEADER_SEARCH_PATHS by GraphTraverser.librariesPublicHeadersFolders. Xcode’s ProcessXCFramework already extracts those headers into $(BUILT_PRODUCTS_DIR)/include; the previous behavior put a second, discoverable copy on the path and caused “redefinition of module ‘X’” failures. Targets without a module map (including the cached Swift/library products) still get their headers.
Hive
No more module redefinition from xcframework headers shipped with a module map
Published
Jun 29, 2026 · 15:25 UTC
Repository
tuist/tuist