Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

macOS: `xtool dev` fails with "No valid Swift SDK bundles found" on Xcode 16.2 / Swift 6.0 (no version check)

Aperta Adatta ai principianti
#386 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

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
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
github, swift
Ambito
devtools

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

  1. xtool setup (works fine).
  2. In an xtool project: xtool dev run --usb.
    • First run, with no ~/Library/org.swift.swiftpm/swift-sdks directory 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.
  3. xtool sdk install /path/to/Xcode.app prints Skipping 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-ios resolves) 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

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di xtool-org/xtool

Tutte le issue di xtool-org/xtool

Issue simili

Altre issue su Swift

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.