Ihre iOS-App von Windows aus bauen, Framework für Framework
Eine App mit Flutter, React Native, Unity, Godot oder MAUI können Sie unter Windows schreiben. Nur der iOS-Build braucht einen Mac. Jedes dieser Tools gibt den letzten Schritt an Xcode ab. Diese Seite zeigt für jedes Framework, was Sie auf dem Mac ausführen. Sie zeigt auch, wie Sie das Ergebnis hochladen.
Was einen Mac braucht, je Framework
So steht es in der Doku der Projekte, gelesen am 18. Oktober 2026.
- Flutter: Laut der Anleitung für iOS-Releases ist Xcode Pflicht, und Sie brauchen ein Gerät mit macOS. Ihr Dart-Code und Ihre Android-Builds können unter Windows oder Linux bleiben.
- React Native: Die Anleitung zum App Store macht den Release-Build in Xcode. JavaScript und Jest-Tests laufen auf jedem System.
- Expo: EAS Build führt iOS-Builds auf macOS-Rechnern in der Cloud von Expo aus. Vielleicht brauchen Sie also nie einen eigenen Mac.
- Unity: Der Editor schreibt ein Xcode-Projekt, und Xcode baut daraus die App. Laut Unity braucht ein lokaler iOS-Build macOS.
- Godot: Laut Doku müssen Sie für iOS auf einem Computer mit macOS und installiertem Xcode exportieren. Schon der Export wandert also auf den Mac.
- .NET MAUI: Visual Studio unter Windows verbindet sich per SSH mit einem Mac. Der Mac kompiliert und signiert die App.
Zwei ältere Leitfäden decken den allgemeinen Fall ab. Lesen Sie Veröffentlichen ohne Mac für API-Schlüssel, Signierung und TestFlight. Lesen Sie Xcode unter Windows für Bildschirm und Tastatur aus der Ferne. Diese Seite bleibt bei den Befehlen.
Vor dem Start: Konto und Signierung
- Sie brauchen eine bezahlte Mitgliedschaft im Apple Developer Program. Sie kostet 99 USD im Jahr.
- Legen Sie den App-Eintrag in App Store Connect an. Das geht in jedem Browser.
- Fügen Sie auf dem Mac Ihren Apple Account zu Xcode hinzu. Wählen Sie dann unter Signing and Capabilities Ihr Team.
- Lassen Sie Automatically manage signing an. Dann erstellt Xcode Zertifikat und Profil für Sie.
Flutter: flutter build ipa
Installieren Sie Flutter auf dem Mac und klonen Sie Ihr Repository dorthin. Führen Sie dann im Projektordner diesen einen Befehl aus:
flutter build ipa
Laut Doku von Flutter schreibt er ein .xcarchive nach build/ios/archive und eine .ipa nach build/ios/ipa. Mit --build-name und --build-number setzen Sie die Version. Flutter beschreibt drei Wege für den Upload. Sie können die .ipa auf dem Mac in die App Transporter von Apple ziehen. Sie können das Archiv in Xcode öffnen und auf Distribute App klicken. Oder Sie laden im Terminal mit einem API-Schlüssel für App Store Connect hoch:
xcrun altool --upload-app --type ios -f build/ios/ipa/*.ipa \ --apiKey your_api_key --apiIssuer your_issuer_id
React Native: in Xcode archivieren
Die Anleitung von React Native macht den Release im Xcode-Fenster. Installieren Sie zuerst die Pods und öffnen Sie dann den Workspace:
cd ios bundle exec pod install open MyApp.xcworkspace
- Setzen Sie unter Product, Scheme, Edit Scheme die Build-Konfiguration für Run auf Release.
- Setzen Sie das Gerät auf Any iOS Device (arm64). Wählen Sie dann Product, dann Archive.
- Klicken Sie im Archivfenster auf Distribute App, dann App Store Connect, dann Upload.
Der Build erscheint danach in App Store Connect unter TestFlight. Für einen Release im Terminal nutzen Sie xcodebuild archive und -exportArchive, mit den Optionen aus unserem Leitfaden zum Veröffentlichen. Den ganzen Ablauf für Windows und Linux zeigt React Native iOS-Builds ohne Mac.
Mit Expo brauchen Sie für Builds keinen Mac. Führen Sie das unter Windows aus, und der Build läuft auf den macOS-Runnern von Expo:
eas build --platform ios
Einen Mac brauchen Sie trotzdem, wenn Sie den Simulator oder den Debugger von Xcode nutzen wollen.
Unity: unter Windows bauen, auf dem Mac archivieren
Wählen Sie in den Build Settings iOS und klicken Sie auf Build. Unity schreibt dann einen Ordner mit einem Xcode-Projekt. Die Option Run in Xcode gibt es nur unter macOS, also ist unter Windows hier Schluss. Kopieren Sie den Ordner per SSH auf den Mac:
scp -r Builds/iOS you@your-mac:~/MyGame-iOS
Öffnen Sie auf dem Mac das .xcodeproj in diesem Ordner. Wählen Sie das Scheme Unity-iPhone. Das ist das Launcher-Target, das UnityFramework startet. Setzen Sie das Gerät auf Any iOS Device und wählen Sie Product, dann Archive. Verteilen Sie die App im Organizer wie jede andere iOS-App.
Ein großes Spiel ergibt einen großen Ordner. Wie lange das Kopieren dauert, hängt von Ihrem Upload ab. Unity bietet auch Build Automation an. Damit wird das Spiel in der Cloud von Unity gebaut.
Godot: auf dem Mac exportieren
Der iOS-Export von Godot läuft nur unter macOS. Installieren Sie Godot und seine Export-Vorlagen auf dem Mac und öffnen Sie dort Ihr Projekt.
- Öffnen Sie Project, dann Export. Klicken Sie auf Add und wählen Sie iOS.
- Tragen Sie App Store Team ID und Bundle Identifier ein. Der Export verlangt beides.
- Die Team ID ist ein Code aus 10 Zeichen, nicht Ihr Name, wie Xcode ihn zeigt.
- Klicken Sie auf Export Project und wählen Sie einen leeren Ordner für die Dateien.
- Öffnen Sie das erzeugte .xcodeproj und wählen Sie Product, dann Archive.
.NET MAUI: Visual Studio mit dem Mac koppeln
Die Funktion Pair to Mac von Microsoft führt die Mac-Builds per SSH aus. Deshalb muss die entfernte Anmeldung an sein. Xcode müssen Sie von Hand installieren und einmal öffnen. Microsoft verlangt auch Mono und auf Apple Silicon Rosetta. Öffnen Sie in Visual Studio Tools, iOS, Pair to Mac. Steht der Mac nicht in der Liste, fügen Sie ihn über seine Adresse hinzu.
Sie können auch über die Kommandozeile von Windows veröffentlichen. Das ist das Beispiel von Microsoft für Visual Studio 2026, ohne das Passwort:
dotnet publish -f net8.0-ios -c Release -p:ArchiveOnBuild=true \
-p:RuntimeIdentifier=ios-arm64 \
-p:CodesignKey="Apple Distribution: John Smith (AY2GDE9QM7)" \
-p:CodesignProvision="MyMauiApp" \
-p:ServerAddress={macOS build host IP address} \
-p:ServerUser={macOS username} -p:TcpPort=58181 \
-p:_DotNetRootRemoteDirectory=/Users/{macOS username}/Library/Caches/maui/PairToMac/SDKs/dotnet/Ersetzen Sie net8.0-ios durch Ihr eigenes Ziel-Framework. Ohne Passwort-Option nutzt Pair to Mac die SSH-Schlüssel, die es bei der ersten Verbindung gespeichert hat. Die signierte .ipa landet auf Ihrem PC unter bin\Release. Für den Upload verweist Microsoft auf Transporter.
Hochladen: was Apple heute nennt
Apples Seite zum Hochladen nennt vier Tools: Xcode, Swift Playground, altool und Transporter. Laut Apple unterstützen Transporter und altool jeden Zieltyp. Ein Enddatum für altool nennt Apple nicht. Transporter ist eine macOS-App, aber die Version für die Kommandozeile läuft mit einigen Grenzen auch unter Windows. Unser Leitfaden zum Veröffentlichen erklärt diese Grenzen.
Cloud-Builds oder ein gemieteter Mac?
Fangen Sie bei dem an, was Sie brauchen. Brauchen Sie nur ab und zu eine .ipa, reicht vielleicht ein Cloud-Build. Codemagic, EAS Build und die macOS-Runner von GitHub Actions bauen alle iOS-Apps. Unser Leitfaden zu GitHub Actions zeigt ein Setup.
Ein gemieteter Mac passt zu anderen Aufgaben. Vielleicht brauchen Sie den Simulator, um einen Bildschirm zu prüfen. Oder den Debugger von Xcode für einen Absturz. Einen Fehler bei der Signierung beheben Sie leichter im Xcode-Fenster. Und manche Teams wollen jeden Schritt eines Releases live verfolgen.
Release-Tag auf einem Mac für $15
Viele Apps erscheinen nur ein paar Mal im Jahr. Dafür kostet ein Tagespass von MacRun $15, einmal bezahlt und ohne Verlängerung. Eine Woche kostet $59. Dann bleibt nach der Prüfung Zeit für einen Fix. Wenn Sie alle paar Wochen veröffentlichen, beginnen die Monatstarife bei $139.
- Sie bekommen einen dedizierten Mac mini mit Admin-Rechten, keinen geteilten.
- Xcode 27.1 ist der Standard. Xcode 26.6 ist für ältere Projekte auch installiert.
- Der Simulator für iOS 27.1 ist schon installiert, auch das iPhone Duo.
- Der Mac ist in unter 5 Minuten bereit.
- SSH und Bildschirmfreigabe laufen über ein privates Tailscale-Netz, von Windows oder Linux aus.
Wenn der Pass endet, wird der Mac gelöscht. Pushen Sie vorher Ihren Code und kopieren Sie Ihre Signierdateien.
Häufige Fragen
Kann ich eine iOS-App unter Windows bauen?
+
Schreiben können Sie sie unter Windows. Der iOS-Build braucht Xcode, und Xcode läuft nur unter macOS. Nutzen Sie für diesen Schritt einen gemieteten Mac, einen CI-Runner oder einen Cloud-Build-Dienst.
Kann Flutter unter Windows für iOS bauen?
+
Nein. Laut der Anleitung von Flutter für iOS-Releases brauchen Sie für diesen Schritt ein Gerät mit macOS. Führen Sie flutter build ipa auf einem Mac aus. Laden Sie die .ipa dann mit Transporter, altool oder Xcode hoch.
Kann ich eine React Native App für iOS ohne Mac bauen?
+
Mit Expo ja, denn EAS Build führt iOS-Builds auf macOS-Rechnern in der Cloud von Expo aus. Ohne Expo brauchen Sie einen Mac, um die App in Xcode zu archivieren.
Kann Unity unter Windows für iOS bauen?
+
Unity schreibt das Xcode-Projekt. Xcode baut dann die App, und Xcode läuft nur unter macOS. Kopieren Sie das Projekt auf einen Mac und archivieren Sie es dort. Oder nutzen Sie Unity Build Automation.
Wie lade ich eine iOS-App von Windows aus hoch?
+
Das Kommandozeilen-Tool Transporter von Apple läuft unter Windows. Es braucht aber eine Datei, die Xcode mit dem Build exportiert. Der Build selbst kommt also von einem Mac.