Eine macOS-App, die URLSession verwendet, kann normalerweise der Proxy-Richtlinie des Rechners folgen, ohne den Benutzer zu bitten, denselben Proxy erneut einzugeben. Apple dokumentiert, dass der Standardwert von connectionProxyDictionary die Systemeinstellungen verwendet.

Ein Download-Manager kann mit gutem Grund eine eigene Proxy-Einstellung anbieten. Machen Sie die Wahl ausdrücklich: „Systemeinstellungen verwenden“ und eine bewusst konfigurierte Sitzung sind unterschiedliche Modi. Das Kopieren einer aktuellen Proxy-Adresse erzeugt eine Momentaufnahme der Route.

Wenden Sie eine benutzerdefinierte Richtlinie an, bevor Sie die Sitzung erstellen. URLSession kopiert die übergebene Konfiguration; eine spätere Änderung des ursprünglichen Konfigurationsobjekts aktualisiert die bestehende Sitzung nicht. Wenn ein Benutzer die Proxy-Einstellung der App ändert, organisieren Sie eine neue Sitzung für die neue Richtlinie und entscheiden Sie, wie bereits laufende Anfragen abgeschlossen oder abgebrochen werden sollen.

Für unterstützte Bereitstellungsziele empfiehlt Apple jetzt proxyConfigurations anstelle der älteren Dictionary-Schnittstelle, da sie sichere Proxy- und Relay-Typen unterstützt. Prüfen Sie die API-Verfügbarkeit anhand der minimalen Betriebssystemversion der App, bevor Sie diese Schnittstelle wählen.

Dieses Verhalten gehört zu URLSession. Ein Paket, das eigene Sockets öffnet oder eine andere HTTP-Implementierung verwendet, benötigt eine eigene Proxy-Unterstützung. Identifizieren Sie diesen Transport, bevor Sie Systemeinstellungen ändern.

Ähnliche Artikel