macOS: `xtool dev` fails with "No valid Swift SDK bundles found" on Xcode 16.2 / Swift 6.0 (no version check)
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 63/100
Direzione di ricerca
Leggi il commento in Sources/PackLib/BuildSettings.swift e le istruzioni di installazione per macOS in Installation-macOS.md per confermare il requisito dell’SDK SwiftPM. Riproduci il problema con Swift 6.0 eseguendo il comando swift build --swift-sdk arm64-apple-ios dell’issue, poi verifica come xtool dev gestisce l’errore di build. Il lavoro è concluso quando gli utenti macOS ricevono un errore chiaro sulla versione minima oppure la versione minima documentata è esplicita.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
On macOS, xtool dev builds with swift build --swift-sdk arm64-apple-ios and relies on SwiftPM's implicit Darwin SDKs, which (per the comment in Sources/PackLib/BuildSettings.swift) exist as of Swift 6.1. With Xcode 16.2 (Swift 6.0.3) the build fails with an error that doesn't point at the cause, and xtool sdk install skips on macOS, so there's no obvious way forward. There's no Swift/Xcode version check, and Installation-macOS.md only shows Swift 6.1 in example output rather than stating it as a minimum.
This bites anyone on macOS 15.3 or earlier, since Xcode 16.3 needs macOS 15.4.
Environment
- xtool 1.23.0 (Homebrew)
- macOS 15.3.1, Apple Silicon (M4)
- Xcode 16.2, Apple Swift 6.0.3 (swiftlang-6.0.3.1.10)
Steps
xtool setup(works fine).- In an xtool project:
xtool dev run --usb.- First run, with no
~/Library/org.swift.swiftpm/swift-sdksdirectory yet:
error: The folder "swift-sdks" doesn't exist. - Once that directory exists (e.g. after running
swift sdk list):
error: No valid Swift SDK bundles found at ~/Library/org.swift.swiftpm/swift-sdks.
- First run, with no
xtool sdk install /path/to/Xcode.appprintsSkipping SDK install; the iOS SDK ships with Xcode on macOS, so it doesn't help.
Minimal repro without xtool
mkdir -p repro/Sources/Repro && cd repro
cat > Package.swift <<'EOF'
// swift-tools-version: 6.0
import PackageDescription
let package = Package(name: "Repro", platforms: [.iOS(.v17)], targets: [.target(name: "Repro")])
EOF
echo 'public let x = 1' > Sources/Repro/Repro.swift
env -u SDKROOT "$(xcrun -f swift)" build --swift-sdk arm64-apple-ios
# error: No valid Swift SDK bundles found at ~/Library/org.swift.swiftpm/swift-sdks.
So the failure is SwiftPM 6.0's behaviour; xtool just doesn't catch it. I couldn't confirm the Swift 6.1 side on this machine (Xcode 16.3 won't install on macOS 15.3.1), so that part rests on the code comment.
Suggestion
Either or both of:
- On macOS, check the toolchain's Swift version (or that
--swift-sdk arm64-apple-iosresolves) before building, and fail with something like:xtool on macOS needs Swift 6.1+ (Xcode 16.3+); found Swift 6.0.3. - State the minimum Xcode/Swift version in
Installation-macOS.md.
Workaround, for anyone stuck on Xcode 16.2
This got an app onto a device:
xtool dev generate-xcode-project
xcodebuild -workspace xtool/<App>.xcworkspace -scheme <App>-App \
-sdk iphoneos -destination 'generic/platform=iOS' -derivedDataPath ./dd \
CODE_SIGNING_ALLOWED=NO CODE_SIGNING_REQUIRED=NO build
xtool install --usb dd/Build/Products/Debug-iphoneos/<App>-App.app
xtool install signs and installs the unsigned .app fine. One thing not to try: xtool sdk build + swift sdk install of the result. That bundle is built for a Linux host and fails on macOS with a cyclic dependency in module 'DarwinFoundation' error.
- Lingua principale
- Swift
- Stelle
- 5.5k
- Fork
- 163
- Merge medio
- 19h 33m
- PR unite (30g)
- 25
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di xtool-org/xtool
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
I maintainer di solito rispondono entro 1 giorno
-
Error: exited(127)Apertabug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
xtool-org/xtool#365 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
xtool-org/xtool#364 · 6 reazioni ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 12/100
xtool-org/xtool#359 · 3 commenti · 2 reazioni ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di xtool-org/xtool
Issue simili
-
product / auth product / databases product / functions product / messaging product / storage product / vcs
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
storage: eliminate force-unwraps and fatalError in continueStreamingUploadForse già presa @chingor13 l’ha presa oggi. Apertaapi: storage type: cleanup
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
googleapis/google-cloud-swift#1527 ·
I maintainer di solito rispondono entro 1 giorno
-
ci-failure ci:assertion test
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
openwatersio/slackwater-ios#811 ·
I maintainer di solito rispondono entro 1 giorno
-
ai-assisted
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
swiftlang/swift-testing#1979 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
foxglove/mcap#1907 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno