SwiftPM C-family targets with their own module map (for example swift-nio-ssl’s CNIOBoringSSL) now have their headers surfaced as project headers rather than copied as Public. Previously, headers landed in the generated framework’s Headers directory and flipped a sibling target’s __has_include guard, re-homing declarations into a shim module and breaking consumers compiled with MemberImportVisibility. Directory-style ObjC packages consumed via <Module/Header.h> continue to keep their public headers so they still compile into the framework bundle.
Hive
SwiftPM C-target tags corrected for sibling shim modules
Published
Jul 03, 2026 · 16:57 UTC
Repository
tuist/tuist