En transport som bara använder en proxyögonblicksbild vid start kan bli inaktuell efter en nätverks- eller platsändring. För en macOS SystemConfiguration-prenumeration, håll denna livscykel explicit:

  1. Skapa en SCDynamicStore-session med en callback.
  2. Registrera exakta nycklar eller mönster med SCDynamicStoreSetNotificationKeys. Det är separata arrayer. Den globala proxy-nyckeln är State:/Network/Global/Proxies; lägg bara till tjänstespecifika indata där transporten använder dem.
  3. Ordna callback-leverans via SCDynamicStoreSetDispatchQueue eller den lämpliga run-loop-källan. Att bara registrera namn kör inte callbacken.
  4. Vid avisering, läs om den effektiva konfigurationen och uppdatera det fortsatta arbetet. Listan över ändrade nycklar är inte i sig den fullständiga nya policyn.
  5. Vid avstängning, inaktivera leverans med en nollkö innan egna resurser släpps. Håll lagret och callback-kontexten vid liv till dess.

Apples header definierar en tom lista över ändrade nycklar som en omstart av dynamiklagerservern. Uppdatera även relevant tillstånd i det fallet och kasta bort antaganden som bygger på det tidigare innehållet.

Detta är ett offentligt macOS-API-tillvägagångssätt. Apples headrar markerar motsvarande funktioner som privat SPI för iOS, så samma prenumeration är inte ett offentligt iOS-applikationsgränssnitt.

Relaterade artiklar