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:

  1. Napravite SCDynamicStore sesiju sa callback funkcijom.
  2. Registrujte tačne ključeve ili obrasce pomoću SCDynamicStoreSetNotificationKeys. To su odvojeni nizovi. Globalni proxy ključ je State:/Network/Global/Proxies; dodajte unose specifične za uslugu samo tamo gde ih transport koristi.
  3. Organizujte isporuku callbacka putem SCDynamicStoreSetDispatchQueue ili odgovarajućeg run-loop izvora. Samo registrovanje imena ne pokreće callback.
  4. Na obaveštenje ponovo pročitajte efektivnu konfiguraciju i ažurirajte dalji rad. Lista promenjenih ključeva sama po sebi nije kompletna nova politika.
  5. 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.

Povezani članci