.NET MAUI: Kein Internet im iOS-Simulator

Aus maxTechCorner

Auf einen Blick

Gilt für.NET MAUI 10 bzw. .NET for iOS; iOS-Simulator unter Xcode auf aktuellem macOS
BereichSoftwareentwicklung
Dauer5–15 Minuten
RechteEntwicklungsumgebung, Administrator am Mac für Netzwerkeinstellungen
StandOktober 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.

Kein Internet im iOS-Simulator: Der Simulator nutzt das Netzwerk des Macs; ATS blockiert HTTP, lokale Ausnahmen über NSAllowsLocalNetworking.

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 NSAllowsLocalNetworking gilt nur für lokale Adressen.
  • Lokales Netzwerk: Greift die App auf Geräte im LAN zu, verlangt iOS zusätzlich den Eintrag NSLocalNetworkUsageDescription und 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


Ü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? Kontakt aufnehmen