Hive
swiftLanguageMode adds -swift-version to OTHER_SWIFT_FLAGS, which triggers a warning in Xcode 27
GitHub issue · Open
Source
tuist/tuist #13752
Updated
Oct 1, 2026
What happened?
When a Swift package target declares .swiftLanguageMode(...), Tuist sets both SWIFT_VERSION and a -swift-version flag in OTHER_SWIFT_FLAGS. Xcode 27 warns about the flag:
language mode was overridden by extra Swift flags and may be inconsistent with code generated during the build
For example, FirebaseAuth (firebase-ios-sdk 12.19.2) declares .swiftLanguageMode(.v5). The generated project contains:
SWIFT_VERSION = 5
OTHER_SWIFT_FLAGS = "$(inherited) -swift-version 5 ..."
The flag comes from SettingsMapper.swift:
case (.swift, .swiftLanguageMode):
// TODO: Use -language-mode instead of -swift-version when Xcode 15 support is removed.
swiftFlags.append("-swift-version \(setting.value[0])")
settingsDictionary["SWIFT_VERSION"] = "\(setting.value[0])"
Expected
Only SWIFT_VERSION is set. The extra -swift-version flag isn’t needed and causes the warning.
How to reproduce
- Add
firebase-ios-sdk12.19.2 as an external dependency inTuist/Package.swiftand useFirebaseAuth. - Run
tuist installandtuist generate. - Build with Xcode 27. The FirebaseAuth target shows the warning above.
Environment
- Tuist 4.210.0
- Xcode 27, Swift 6.4
- macOS 27.0
Investigate, reproduce, or fix this item in an isolated repository. Each Flight preserves its outcome and agent session.
New Flights are paused
Configure model inference, GitHub, and a sandbox provider to start another Flight. Existing results remain available below.
No Flights yet
Start a Flight and preserve its objective, outcome, and session here.
No GitHub comments yet.