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:
Current version
4.203.4
Target version
4.206.0
Upstream release or pull request
tuist/tuist#12411
Upgrade motivation
SWIFT_PACKAGE=1without generating and injecting the SwiftPM Objective-C resource bundle accessor for local package targets with resources.OTHER_SWIFT_FLAGSwhen 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.SWIFTPM_MODULE_BUNDLEwithout 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_FLAGSshould contain each shared setting only once.Acceptance criteria
4.206.0.-index-ignore-system-modulescan return to a macOS-only condition without duplicatingOTHER_SWIFT_FLAGS.Additional context
The upstream fix was verified with Tuist
4.206.0-canary.16against OpenSwiftUI generated projects, including the Objective-C accessor andOTHER_SWIFT_FLAGScases. The fix merged before the 4.206.0 canary series, so the stable4.206.0target will include it once released.Related upstream issues: