Skip to content

Bump Tuist to 4.206.0 #1006

Description

@Kyle-Ye

Current version

4.203.4

Target version

4.206.0

Upstream release or pull request

tuist/tuist#12411

Upgrade motivation

  • Fixes Tuist-generated projects defining SWIFT_PACKAGE=1 without generating and injecting the SwiftPM Objective-C resource bundle accessor for local package targets with resources.
  • Fixes duplicated unconditional OTHER_SWIFT_FLAGS when shared Swift settings are combined with an SDK-conditioned setting. With Xcode 26.6, the duplicated flags repeat availability macro definitions and break the macOS UI test build.
  • Adopts the fix from tuist/tuist#12411, which generates Objective-C accessors for local Swift packages and corrects conditional package build-setting mapping.
  • Allows affected OpenSwiftUI Objective-C targets to use SWIFTPM_MODULE_BUNDLE without a Tuist-specific preprocessor fallback.

Expected compatibility and migration impact

No manifest migration is expected. Generated projects for affected Objective-C package targets will gain the SwiftPM-compatible resource bundle accessor and injected header. Unconditional package settings will no longer be copied into platform-specific variants, so generated OTHER_SWIFT_FLAGS should contain each shared setting only once.

Acceptance criteria

  • Both Tuist pins use 4.206.0.
  • Default and Compute Example projects generate and remain buildable.
  • Affected Objective-C package targets receive the SwiftPM-compatible resource bundle accessor.
  • Generated iOS and macOS compiler commands contain each shared Swift flag and availability macro definition once.
  • -index-ignore-system-modules can return to a macOS-only condition without duplicating OTHER_SWIFT_FLAGS.
  • Version-specific workarounds are removed or documented.

Additional context

The upstream fix was verified with Tuist 4.206.0-canary.16 against OpenSwiftUI generated projects, including the Objective-C accessor and OTHER_SWIFT_FLAGS cases. The fix merged before the 4.206.0 canary series, so the stable 4.206.0 target will include it once released.

Related upstream issues:

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: toolingDeveloper tooling, package manifests, Tuist, scripts, formatting, or release tooling.type: buildBuild system, packaging, toolchain, release, or compiler support.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions