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 tydelig:
- Opprett en SCDynamicStore-økt med en callback.
- Registrer nøyaktige nøkler eller mønstre med
SCDynamicStoreSetNotificationKeys. Dette er adskilte matriser. Den globale proxynøkkelen erState:/Network/Global/Proxies; legg bare til tjenestespesifikke inndata der transporten bruker dem. - Sørg for callback-levering via
SCDynamicStoreSetDispatchQueueeller den riktige run-loop-kilden. Bare registrering av navn kjører ikke callbacken. - Ved varsel, les den gjeldende 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 dynamikklagertjeneren. Oppdater også relevant tilstand i det tilfellet, og forkast antakelser som bygger 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.