En transport, der kun bruger et proxy-øjebliksbillede ved opstart, kan forblive forældet efter en ændring af netværk eller placering. For et macOS SystemConfiguration-abonnement skal denne livscyklus være eksplicit:

  1. Opret en SCDynamicStore-session med et callback.
  2. Registrér præcise nøgler eller mønstre med SCDynamicStoreSetNotificationKeys. De er separate arrays. Den globale proxynøgle er State:/Network/Global/Proxies; tilføj tjenestespecifikke input kun der, hvor transporten bruger dem.
  3. Sørg for callback-levering via SCDynamicStoreSetDispatchQueue eller den relevante run-loop-kilde. Det er ikke nok at registrere navne for at køre callbacket.
  4. Læs den effektive konfiguration igen ved notifikation, og opdater det efterfølgende arbejde. Listen over ændrede nøgler er ikke i sig selv den fulde nye politik.
  5. Deaktivér levering med en nul-kø ved nedlukning, før ejede ressourcer frigives. Hold lageret og callback-konteksten i live indtil da.

Apples header definerer en tom liste over ændrede nøgler som en genstart af den dynamiske lager-server. Opdater også relevant tilstand, og kassér antagelser baseret på det tidligere indhold i det tilfælde.

Dette er en offentlig macOS-API-tilgang. Apples headere markerer de tilsvarende funktioner som privat SPI til iOS, så det samme abonnement er ikke en offentlig iOS-applikationsgrænseflade.

Relaterede artikler