Start Debugging
2026-01-23 flutter Edit on GitHub

Flutter iOS von Windows aus debuggen: ein Real-Device-Workflow (Flutter 3.x)

Ein pragmatischer Workflow, um Flutter-iOS-Apps von Windows aus zu debuggen: den Build über GitHub Actions auf macOS auslagern, das IPA auf einem echten iPhone installieren und mit flutter attach Hot Reload und DevTools nutzen.

Alle paar Wochen taucht der gleiche Schmerzpunkt wieder auf: “Ich bin auf Windows. Ich möchte meine Flutter-iOS-App auf einem echten iPhone debuggen. Brauche ich wirklich einen Mac?”. Ein aktueller r/FlutterDev-Beitrag schlägt einen pragmatischen Umweg vor: den iOS-Build per GitHub Actions auf macOS auslagern und dann von Windows aus installieren und für das Debugging anhängen: https://www.reddit.com/r/FlutterDev/comments/1qkm5pd/develop_flutter_ios_apps_on_windows_with_a_real/

Das Open-Source-Projekt dahinter ist https://github.com/MobAI-App/ios-builder.

Das Problem aufteilen: Build auf macOS, Debugging auf Windows

iOS hat zwei harte Einschränkungen:

Aber Flutter-Debugging ist im Wesentlichen “an eine laufende App anhängen und mit dem VM-Service sprechen”. Das heißt, Sie können Build und Installation vom Entwickler-Loop entkoppeln, solange Sie eine debug-fähige App auf das Gerät bekommen.

Der im Beitrag beschriebene Ablauf:

Ein minimaler GitHub-Actions-Build, der ein IPA erzeugt

Das ist nicht die ganze Geschichte (Signierung ist ein eigenes Kaninchenloch), aber es zeigt die Kernidee: Ein macOS-Runner kompiliert und lädt ein Artefakt hoch.

name: ios-ipa
on:
  workflow_dispatch:
jobs:
  build:
    runs-on: macos-latest
    steps:
      - uses: actions/checkout@v4
      - uses: subosito/flutter-action@v2
        with:
          channel: stable
      - run: flutter pub get
      - run: flutter build ipa --debug --no-codesign
      - uses: actions/upload-artifact@v4
        with:
          name: ios-ipa
          path: build/ios/ipa/*.ipa

Ob --no-codesign akzeptabel ist, hängt davon ab, wie Sie installieren wollen. Viele Wege auf ein echtes Gerät verlangen weiterhin eine Signierung an irgendeiner Stelle, selbst für Debug-Flows.

Der Loop auf der Windows-Seite: installieren, dann anhängen

Sobald die App auf dem iPhone installiert und gestartet ist, wird der Flutter-Teil normal:

# From Windows
flutter devices
flutter attach -d <device-id>

Hot Reload funktioniert, weil Sie sich an eine Debug-Sitzung anhängen, nicht weil Sie auf derselben Maschine kompiliert haben.

Kennen Sie die Tradeoffs von Anfang an

Dieser Workflow ist nützlich, aber er ist keine Magie:

Wenn Sie den ursprünglichen Beitrag und das Repo möchten, das das ausgelöst hat, starten Sie hier: https://github.com/MobAI-App/ios-builder. Für die offizielle Flutter-Anleitung zum iOS-Debugging halten Sie auch die Plattform-Dokumentation bereit: https://docs.flutter.dev/platform-integration/ios/ios-debugging.

Comments

Sign in with GitHub to comment. Reactions and replies thread back to the comments repo.

< Zurück