Abonner på endringer i macOS-proxykonfigurasjonen
Overvåk de relevante nøklene i SystemConfiguration-dynamikklageret, og oppdater proxypolicyen til en tilpasset transport når macOS rapporterer endringer.
En transport som bare bruker et proxy-øyeblikksbilde ved oppstart, kan bli utdatert etter en endring i nettverk eller plassering. For et macOS SystemConfiguration-abonnement bør denne livssyklusen være eksplisitt:
- Opprett en SCDynamicStore-økt med en callback.
- Registrer nøyaktige nøkler eller mønstre med
SCDynamicStoreSetNotificationKeys. Dette er separate matriser. Den globale proxynøkkelen erState:/Network/Global/Proxies; legg bare til tjenestespesifikke inndata der transporten bruker dem. - Ordne callback-levering via
SCDynamicStoreSetDispatchQueueeller den relevante run-loop-kilden. Bare registrering av navn kjører ikke callbacken. - Ved varsel, les den effektive konfigurasjonen på nytt og oppdater det videre arbeidet. Listen over endrede nøkler er ikke i seg selv den fullstendige nye policyen.
- Ved avslutning, deaktiver levering med en nullkø før du frigjør egne ressurser. Hold lageret og callback-konteksten i live til da.
Apples header definerer en tom liste over endrede nøkler som en omstart av dynamikklagerserveren. Oppdater også relevant tilstand i det tilfellet, og forkast antakelser basert på det forrige innholdet.
Dette er en offentlig macOS-API-tilnærming. Apples headere markerer de tilsvarende funksjonene som privat SPI for iOS, så det samme abonnementet er ikke et offentlig iOS-applikasjonsgrensesnitt.