Fixes a build failure for projects that depend on SwiftPM packages with C targets. When a package such as firebase/nanopb exposed both a top-level wrapper header and a nested module header sharing the same basename (for example spm_headers/pb.h and spm_headers/nanopb/pb.h), Xcode scheduled duplicate copy commands into the framework’s Headers directory and the build failed with a “Multiple commands produce” error. Tuist now deduplicates public headers by destination basename, preferring the nested module directory version, so the generated project no longer asks Xcode to copy the same header twice.
Hive
Fix duplicate-header build error for SwiftPM C-target packages
Published
Jul 03, 2026 · 12:55 UTC
Repository
tuist/tuist