Pretplatite se na promjene proxy konfiguracije u macOS-u
Pratite relevantne ključeve dinamičkog skladišta SystemConfiguration i osvježite proxy politiku prilagođenog transporta kada macOS objavi promjene.
Transport koji koristi snimak proxyja samo pri pokretanju može ostati zastario nakon promjene mreže ili lokacije. Za macOS SystemConfiguration pretplatu držite ovaj životni ciklus eksplicitnim:
- Kreirajte SCDynamicStore sesiju s callback funkcijom.
- Registrirajte točne ključeve ili obrasce pomoću
SCDynamicStoreSetNotificationKeys. To su odvojeni nizovi. Globalni proxy ključ jeState:/Network/Global/Proxies; dodajte unose specifične za uslugu samo tamo gdje ih transport koristi. - Organizirajte isporuku callbacka putem
SCDynamicStoreSetDispatchQueueili odgovarajućeg run-loop izvora. Samo registriranje imena ne pokreće callback. - Na obavijest ponovo pročitajte efektivnu konfiguraciju i ažurirajte naredni rad. Popis promijenjenih ključeva sam po sebi nije kompletna nova politika.
- Pri gašenju onemogućite isporuku praznim redom prije oslobađanja vlastitih resursa. Držite skladište i kontekst callbacka živim do tada.
Appleov header definira prazan popis promijenjenih ključeva kao ponovno pokretanje servera dinamičkog skladišta. I u tom slučaju osvježite relevantno stanje i odbacite pretpostavke zasnovane na prethodnom sadržaju.
Ovo je javni pristup putem macOS API-ja. Appleovi headeri označavaju odgovarajuće funkcije kao privatni SPI za iOS, pa ista pretplata nije javno sučelje iOS aplikacija.