Caching xcframeworks that ship a module.modulemap no longer produces redefinition of module 'X' errors, and customers on packages like ARCore (a static-ObjC-behind-dynamic xcframework) can now compile against the cached product. Module-map xcframework headers are excluded from the search paths to avoid the duplicate Xcode already copies into $(BUILT_PRODUCTS_DIR)/include, while the cached library/Swift xcframework products from module cache continue to ship their Headers directory. Nested layouts resolve prefixed sibling imports like ARCoreGARSession/GARTrackingState.h with both the module-map directory and the Headers root landing on HEADER_SEARCH_PATHS.
Hive
Smoothed xcframework header handling for cached static-ObjC-behind-dynamic deps
Published
Jun 26, 2026 · 11:25 UTC
Repository
tuist/tuist