Usare le impostazioni proxy di sistema o un override di sessione in URLSession
Lascia che URLSession usi le impostazioni proxy di sistema per impostazione predefinita e limita gli override deliberati a una sessione configurata.
Un'app macOS che usa URLSession può normalmente seguire la politica proxy della macchina senza chiedere all'utente di reinserire lo stesso proxy. Apple documenta che il valore predefinito di connectionProxyDictionary usa le impostazioni di sistema.
Un gestore di download può ragionevolmente offrire la propria preferenza proxy. Rendi esplicita la scelta: «Usa impostazioni di sistema» e una sessione configurata deliberatamente sono modalità diverse. Copiare un indirizzo proxy attuale crea un'istantanea della rotta.
Applica una politica personalizzata prima di creare la sessione. URLSession copia la configurazione fornita; modificare in seguito l'oggetto di configurazione originale non aggiorna la sessione esistente. Quando un utente cambia la preferenza proxy dell'app, prepara una nuova sessione per la nuova politica e decidi come le richieste già in corso debbano concludersi o essere annullate.
Per le destinazioni di distribuzione supportate, Apple ora consiglia proxyConfigurations rispetto alla vecchia interfaccia a dizionario, perché supporta tipi di proxy e relay sicuri. Verifica la disponibilità dell'API rispetto alla versione minima del sistema operativo dell'app prima di scegliere tale interfaccia.
Questo comportamento appartiene a URLSession. Un pacchetto che apre i propri socket o usa un'altra implementazione HTTP necessita di un proprio supporto proxy. Identifica quel trasporto prima di modificare le preferenze di sistema.