Pretplatite se na promjene proxy konfiguracije u macOS-u
Pratite relevantne ključeve dinamičkog spremišta SystemConfiguration i osvježite proxy politiku prilagođenog transporta kada macOS izvijesti o promjenama.
Transport koji koristi snimku proxyja samo pri pokretanju može ostati zastario nakon promjene mreže ili lokacije. Za macOS SystemConfiguration pretplatu držite ovaj životni ciklus eksplicitnim:
- Stvorite SCDynamicStore sesiju s callback funkcijom.
- Registrirajte točne ključeve ili uzorke 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 ponovno pročitajte efektivnu konfiguraciju i ažurirajte daljnji rad. Popis promijenjenih ključeva sam po sebi nije potpuna nova politika.
- Pri gašenju onemogućite isporuku praznim redom prije oslobađanja vlastitih resursa. Držite spremište i kontekst callbacka živima do tada.
Appleov header definira prazan popis promijenjenih ključeva kao ponovno pokretanje poslužitelja dinamičkog spremišta. I u tom slučaju osvježite relevantno stanje i odbacite pretpostavke temeljene 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.