Suscríbase a los cambios de configuración del proxy de macOS
Vigile las claves relevantes del almacén dinámico de SystemConfiguration y actualice la política de proxy de un transporte personalizado cuando macOS notifique cambios.
Un transporte que usa una instantánea del proxy solo al inicio puede quedar obsoleto tras un cambio de red o de ubicación. Para una suscripción de macOS SystemConfiguration, mantenga explícito este ciclo de vida:
- Cree una sesión SCDynamicStore con una función de devolución de llamada.
- Registre claves o patrones exactos con
SCDynamicStoreSetNotificationKeys. Son matrices separadas. La clave global del proxy esState:/Network/Global/Proxies; añada entradas específicas de servicio solo donde el transporte las consuma. - Organice la entrega de la devolución de llamada mediante
SCDynamicStoreSetDispatchQueueo la fuente de run-loop adecuada. Registrar solo los nombres no ejecuta la devolución de llamada. - Al recibir la notificación, vuelva a leer la configuración efectiva y actualice el trabajo posterior. La lista de claves cambiadas no es por sí misma la nueva política completa.
- Al apagar, desactive la entrega con una cola nula antes de liberar los recursos propios. Mantenga vivos el almacén y el contexto de devolución hasta entonces.
El encabezado de Apple define una lista vacía de claves cambiadas como un reinicio del servidor del almacén dinámico. En ese caso también, actualice el estado relevante y descarte las suposiciones basadas en el contenido anterior.
Este es un enfoque de API pública de macOS. Los encabezados de Apple marcan las funciones correspondientes como SPI privado para iOS, por lo que la misma suscripción no es una interfaz pública de aplicaciones iOS.