Pretplatite se na promene proxy konfiguracije u macOS-u
Pratite relevantne ključeve dinamičkog skladišta SystemConfiguration i osvežite proxy politiku prilagođenog transporta kada macOS prijavi promene.
Transport koji koristi snimak proxyja samo pri pokretanju može ostati zastareo nakon promene mreže ili lokacije. Za macOS SystemConfiguration pretplatu držite ovaj životni ciklus eksplicitnim:
- Napravite SCDynamicStore sesiju sa callback funkcijom.
- Registrujte tač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 gde ih transport koristi. - Organizujte isporuku callbacka putem
SCDynamicStoreSetDispatchQueueili odgovarajućeg run-loop izvora. Samo registrovanje imena ne pokreće callback. - Na obaveštenje ponovo pročitajte efektivnu konfiguraciju i ažurirajte dalji rad. Lista promenjenih ključeva sama po sebi nije kompletna nova politika.
- Pri gašenju onemogućite isporuku praznim redom pre oslobađanja sopstvenih resursa. Držite skladište i kontekst callbacka živim do tada.
Appleov header definiše praznu listu promenjenih ključeva kao ponovno pokretanje servera dinamičkog skladišta. I u tom slučaju osvež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.