<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://techcorner.max-it.de/index.php?action=history&amp;feed=atom&amp;title=.NET_MAUI%3A_Kein_Internet_im_iOS-Simulator</id>
	<title>.NET MAUI: Kein Internet im iOS-Simulator - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://techcorner.max-it.de/index.php?action=history&amp;feed=atom&amp;title=.NET_MAUI%3A_Kein_Internet_im_iOS-Simulator"/>
	<link rel="alternate" type="text/html" href="https://techcorner.max-it.de/index.php?title=.NET_MAUI:_Kein_Internet_im_iOS-Simulator&amp;action=history"/>
	<updated>2026-10-17T10:12:37Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in maxTechCorner</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://techcorner.max-it.de/index.php?title=.NET_MAUI:_Kein_Internet_im_iOS-Simulator&amp;diff=4301&amp;oldid=prev</id>
		<title>imported&gt;TechCorner-Redaktion: Neufassung von &quot;Xamarin:Kein Internet auf iOS Simulator&quot;: ATS, macOS-Proxy, lokale Webdienste</title>
		<link rel="alternate" type="text/html" href="https://techcorner.max-it.de/index.php?title=.NET_MAUI:_Kein_Internet_im_iOS-Simulator&amp;diff=4301&amp;oldid=prev"/>
		<updated>2026-10-14T00:00:00Z</updated>

		<summary type="html">&lt;p&gt;Neufassung von &amp;quot;Xamarin:Kein Internet auf iOS Simulator&amp;quot;: ATS, macOS-Proxy, lokale Webdienste&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Steckbrief&lt;br /&gt;
| gilt_fuer   = .NET MAUI 10 bzw. .NET for iOS; iOS-Simulator unter Xcode auf aktuellem macOS&lt;br /&gt;
| bereich     = Softwareentwicklung&lt;br /&gt;
| dauer       = 5–15 Minuten&lt;br /&gt;
| rechte      = Entwicklungsumgebung, Administrator am Mac für Netzwerkeinstellungen&lt;br /&gt;
| stand       = Oktober 2026&lt;br /&gt;
}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kein Internet im iOS-Simulator&amp;#039;&amp;#039;&amp;#039; liegt bei .NET-MAUI-Apps fast nie am Simulator selbst – er nutzt die Netzwerkverbindung des Macs. Typische Ursachen sind die &amp;#039;&amp;#039;&amp;#039;App Transport Security&amp;#039;&amp;#039;&amp;#039; (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.&lt;br /&gt;
&lt;br /&gt;
[[Datei:NET-MAUI-iOS-Simulator-Internet.png|thumb|center|750px|Kein Internet im iOS-Simulator: Der Simulator nutzt das Netzwerk des Macs; ATS blockiert HTTP, lokale Ausnahmen über NSAllowsLocalNetworking.]]&lt;br /&gt;
&lt;br /&gt;
== Problem ==&lt;br /&gt;
* &amp;lt;code&amp;gt;HttpClient&amp;lt;/code&amp;gt;-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).&lt;br /&gt;
* Safari im Simulator lädt Websites, die App erreicht ihren Webservice aber nicht.&lt;br /&gt;
&lt;br /&gt;
== Lösung ==&lt;br /&gt;
=== Schritt 1: Netzwerk des Macs prüfen ===&lt;br /&gt;
* Safari im Simulator öffnen und eine Website laden. Funktioniert das nicht, hat der Mac selbst ein Problem (WLAN, VPN, Proxy).&lt;br /&gt;
* Ist auf dem Mac ein &amp;#039;&amp;#039;&amp;#039;Proxy&amp;#039;&amp;#039;&amp;#039; nötig, diesen in &amp;#039;&amp;#039;Systemeinstellungen → Netzwerk → (Verbindung) → Details → Proxys&amp;#039;&amp;#039; eintragen – der Simulator übernimmt die Einstellungen. Den Simulator danach neu starten.&lt;br /&gt;
* VPN-Clients und Content-Filter (Endpoint-Security) testweise deaktivieren.&lt;br /&gt;
&lt;br /&gt;
=== Schritt 2: HTTPS verwenden oder ATS-Ausnahme setzen ===&lt;br /&gt;
iOS erlaubt standardmäßig nur HTTPS mit gültigem Zertifikat. Für die lokale Entwicklung kann HTTP zu lokalen Adressen in der &amp;lt;code&amp;gt;Platforms/iOS/Info.plist&amp;lt;/code&amp;gt; erlaubt werden:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;key&amp;gt;NSAppTransportSecurity&amp;lt;/key&amp;gt;&lt;br /&gt;
&amp;lt;dict&amp;gt;&lt;br /&gt;
    &amp;lt;key&amp;gt;NSAllowsLocalNetworking&amp;lt;/key&amp;gt;&lt;br /&gt;
    &amp;lt;true/&amp;gt;&lt;br /&gt;
&amp;lt;/dict&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Nicht verwenden: &amp;lt;code&amp;gt;NSAllowsArbitraryLoads&amp;lt;/code&amp;gt; – es schaltet ATS komplett ab und führt bei der App-Store-Prüfung zu Rückfragen.&lt;br /&gt;
&lt;br /&gt;
=== Schritt 3: Lokalen Webservice erreichbar machen ===&lt;br /&gt;
Der iOS-Simulator läuft auf dem Mac. Läuft der Webservice auf dem Windows-PC (Pair to Mac), ist er unter &amp;lt;code&amp;gt;localhost&amp;lt;/code&amp;gt; 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 &amp;lt;code&amp;gt;localhost&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
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 &amp;lt;code&amp;gt;HttpClientHandler&amp;lt;/code&amp;gt;, der das Zertifikat nur im Debug-Build akzeptiert.&lt;br /&gt;
&lt;br /&gt;
=== Schritt 4: Simulator zurücksetzen ===&lt;br /&gt;
Hilft nichts davon, den Simulator zurücksetzen: im Simulator-Menü &amp;#039;&amp;#039;Device → Erase All Content and Settings&amp;#039;&amp;#039; oder per Terminal:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
xcrun simctl shutdown all&lt;br /&gt;
xcrun simctl erase all&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Hinweise ==&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Echte Geräte&amp;#039;&amp;#039;&amp;#039; verhalten sich bei ATS identisch; die Ausnahme &amp;lt;code&amp;gt;NSAllowsLocalNetworking&amp;lt;/code&amp;gt; gilt nur für lokale Adressen.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Lokales Netzwerk:&amp;#039;&amp;#039;&amp;#039; Greift die App auf Geräte im LAN zu, verlangt iOS zusätzlich den Eintrag &amp;lt;code&amp;gt;NSLocalNetworkUsageDescription&amp;lt;/code&amp;gt; und fragt den Benutzer um Erlaubnis.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Frühere Lösung:&amp;#039;&amp;#039;&amp;#039; Zusatzprogramme wie Proxifier waren zu Xamarin-Zeiten verbreitet; mit den Proxy-Einstellungen von macOS sind sie in der Regel nicht mehr nötig.&lt;br /&gt;
* Bei App-Entwicklung und der Anbindung an Ihre Backend-Systeme unterstützt Sie die [https://www.max-it.de/development/individuelle-softwareentwicklung/ individuelle Softwareentwicklung von m.a.x. it].&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[.NET MAUI: Kein Internet im Android-Emulator]]&lt;br /&gt;
* [[.NET MAUI: Entwicklungsumgebung einrichten]]&lt;br /&gt;
* [[Proxy]]&lt;br /&gt;
&lt;br /&gt;
== Links und Quellen ==&lt;br /&gt;
* [https://learn.microsoft.com/de-de/dotnet/maui/data-cloud/local-web-services Microsoft Learn: Verbindung mit lokalen Webdiensten aus Android-Emulatoren und iOS-Simulatoren]&lt;br /&gt;
* [https://www.max-it.de/development/individuelle-softwareentwicklung/ Individuelle Softwareentwicklung und App-Entwicklung von m.a.x. it]&lt;br /&gt;
&lt;br /&gt;
{{Uebermax}}&lt;br /&gt;
[[Kategorie:Softwareentwicklung]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;TechCorner-Redaktion</name></author>
	</entry>
</feed>