Hive Hive
Sign in

fix(cli): Xcode 27 Swift package deployment floors

GitHub issue · Closed

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

Resolves none

Xcode 27 beta raises the supported deployment target range for package projects, which made Tuist-generated Swift package targets keep invalid historical floors such as iOS 12.0.

This updates Swift package deployment target defaults by Swift compiler era so Swift 6.x packages are clamped to deployment targets supported by newer Xcodes. Swift 5.9 keeps the existing iOS 12.0 behavior, while Swift 6.4, used by Xcode 27 beta, now generates package targets with iOS 15.0, macOS 12.0, watchOS 9.0, tvOS 15.0, and visionOS 1.0 floors.

The change also adds a regression test for Swift 6.4 package mapping and removes stray debug dump calls from the neighboring deployment target test.

How to test locally

  • mise run cli:lint --fix
  • xcodebuild test -workspace Tuist.xcworkspace -scheme Tuist-Workspace -only-testing TuistLoaderTests/PackageInfoMapperTests CODE_SIGNING_ALLOWED=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY=""
Comments
TA
tuist-atlas[bot] Jun 10, 2026

This fix is now available in CLI 4.197.1. Update to 4.197.1 to get the corrected Swift package deployment target defaults for Xcode 27.