Hive Hive
Sign in

fix(cli): preserve module names for xcframework wrappers

GitHub issue · Closed

Metadata
Source
tuist/tuist #10938
Updated
Jun 24, 2026
Domains
Generated projects
Details

Summary

  • Fix the SwiftPM wrapper regression where same-name source wrappers around .xcframework binaries inherited the suffixed artifact name as their module name after the wrapper collision handling added in 4.181.1.
  • Split wrapper artifact naming from module naming so Tuist can still emit ...Wrapper products to avoid ProcessXCFramework collisions while preserving the original import/module name via PRODUCT_MODULE_NAME and module-map flags.
  • Add regression coverage for same-name wrapper targets, including the header and module-map path that local packages use.

Testing

  • xcodebuild test -workspace Tuist.xcworkspace -scheme TuistUnitTests -destination 'platform=macOS' -only-testing:TuistLoaderTests/PackageInfoMapperTests/map_whenWrapperTargetSharesProductNameWithBinaryXcframework_suffixesProductName -only-testing:TuistLoaderTests/PackageInfoMapperTests/map_whenWrapperTargetSharesProductNameWithBinaryXcframework_keepsOriginalModuleNameInModuleMap CODE_SIGNING_ALLOWED=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY='' COMPILATION_CACHE_ENABLE_CACHING=NO
Comments