URLSession でシステムのプロキシ設定またはセッション単位の上書きを使う
URLSession が既定でシステムのプロキシ設定を使うようにし、意図的な上書きは構成済みのセッションに限定します。
URLSession を使う macOS アプリは通常、マシンのプロキシ ポリシーに従うことができ、ユーザーに同じプロキシの再入力を求めません。Apple は、connectionProxyDictionary の既定値がシステム設定を使うことを文書化しています。
ダウンロード マネージャが独自のプロキシ設定を提供するのは妥当です。選択を明示してください。「システム設定を使う」と意図的に構成したセッションは別のモードです。現在のプロキシ アドレスを 1 つコピーすると、経路のスナップショットが作られます。
セッションを作成する前にカスタム ポリシーを適用します。URLSession は渡された構成をコピーします。あとから元の構成オブジェクトを変更しても、既存のセッションは更新されません。ユーザーがアプリのプロキシ設定を変更したら、新しいポリシー用に新しいセッションを用意し、すでに進行中のリクエストを完了させるか取り消すかを決めます。
対応している配布対象では、Apple は古い辞書インターフェイスより proxyConfigurations を推奨しています。安全なプロキシとリレーの種類をサポートするためです。そのインターフェイスを選ぶ前に、アプリの最小 OS バージョンに対して API が利用できるか確認してください。
この動作は URLSession に属します。独自のソケットを開くパッケージや別の HTTP 実装を使うパッケージは、独自のプロキシ サポートが必要です。システム設定を変更する前に、そのトランスポートを特定してください。