.NET MAUI: Kein Internet im iOS-Simulator
Auf einen Blick
| Gilt für | .NET MAUI 10 bzw. .NET for iOS; iOS-Simulator unter Xcode auf aktuellem macOS |
|---|---|
| Bereich | Softwareentwicklung |
| Dauer | 5–15 Minuten |
| Rechte | Entwicklungsumgebung, Administrator am Mac für Netzwerkeinstellungen |
| Stand | Oktober 2026 |
Kein Internet im iOS-Simulator liegt bei .NET-MAUI-Apps fast nie am Simulator selbst – er nutzt die Netzwerkverbindung des Macs. Typische Ursachen sind die App Transport Security (ATS), die unverschlüsseltes HTTP blockiert, ein Firmen-Proxy oder VPN auf dem Mac und ein lokaler Webservice, der nicht vom Simulator aus erreichbar ist.

Problem
HttpClient-Aufrufe aus der App schlagen im Simulator fehl („The resource could not be loaded because the App Transport Security policy requires the use of a secure connection“, Zeitüberschreitung, SSL-Fehler).- Safari im Simulator lädt Websites, die App erreicht ihren Webservice aber nicht.
Lösung
Schritt 1: Netzwerk des Macs prüfen
- Safari im Simulator öffnen und eine Website laden. Funktioniert das nicht, hat der Mac selbst ein Problem (WLAN, VPN, Proxy).
- Ist auf dem Mac ein Proxy nötig, diesen in Systemeinstellungen → Netzwerk → (Verbindung) → Details → Proxys eintragen – der Simulator übernimmt die Einstellungen. Den Simulator danach neu starten.
- VPN-Clients und Content-Filter (Endpoint-Security) testweise deaktivieren.
Schritt 2: HTTPS verwenden oder ATS-Ausnahme setzen
iOS erlaubt standardmäßig nur HTTPS mit gültigem Zertifikat. Für die lokale Entwicklung kann HTTP zu lokalen Adressen in der Platforms/iOS/Info.plist erlaubt werden:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsLocalNetworking</key>
<true/>
</dict>
Nicht verwenden: NSAllowsArbitraryLoads – es schaltet ATS komplett ab und führt bei der App-Store-Prüfung zu Rückfragen.
Schritt 3: Lokalen Webservice erreichbar machen
Der iOS-Simulator läuft auf dem Mac. Läuft der Webservice auf dem Windows-PC (Pair to Mac), ist er unter localhost nicht erreichbar – stattdessen die IP-Adresse oder den Namen des PCs verwenden und die Windows-Firewall für den Port öffnen. Läuft der Service auf dem Mac, funktioniert localhost.
Das selbstsignierte ASP.NET-Core-Entwicklungszertifikat muss im Simulator vertrauenswürdig sein, sonst schlägt HTTPS fehl. Einfacher für Tests: HTTP mit ATS-Ausnahme aus Schritt 2 oder ein HttpClientHandler, der das Zertifikat nur im Debug-Build akzeptiert.
Schritt 4: Simulator zurücksetzen
Hilft nichts davon, den Simulator zurücksetzen: im Simulator-Menü Device → Erase All Content and Settings oder per Terminal:
xcrun simctl shutdown all
xcrun simctl erase all
Hinweise
- Echte Geräte verhalten sich bei ATS identisch; die Ausnahme
NSAllowsLocalNetworkinggilt nur für lokale Adressen. - Lokales Netzwerk: Greift die App auf Geräte im LAN zu, verlangt iOS zusätzlich den Eintrag
NSLocalNetworkUsageDescriptionund fragt den Benutzer um Erlaubnis. - Frühere Lösung: Zusatzprogramme wie Proxifier waren zu Xamarin-Zeiten verbreitet; mit den Proxy-Einstellungen von macOS sind sie in der Regel nicht mehr nötig.
- Bei App-Entwicklung und der Anbindung an Ihre Backend-Systeme unterstützt Sie die individuelle Softwareentwicklung von m.a.x. it.
Siehe auch
Links und Quellen
- Microsoft Learn: Verbindung mit lokalen Webdiensten aus Android-Emulatoren und iOS-Simulatoren
- Individuelle Softwareentwicklung und App-Entwicklung von m.a.x. it
Über m.a.x. it Die m.a.x. Informationstechnologie AG ist seit über 30 Jahren IT-Partner mittelständischer und großer Unternehmen in München und bietet maßgeschneiderte Lösungen und Services in den Bereichen Cloud, Cybersecurity, Netzwerk, Windows, Linux und Softwareentwicklung. Sie haben eine Frage zu diesem Artikel oder brauchen Unterstützung?
