macOS 프록시 구성 변경 구독
관련 SystemConfiguration 동적 저장소 키를 감시하고 macOS가 변경을 보고하면 사용자 지정 전송의 프록시 정책을 새로 고칩니다.
시작할 때만 프록시 스냅숏을 사용하는 전송은 네트워크나 위치가 바뀐 뒤 오래된 상태로 남을 수 있습니다. macOS SystemConfiguration 구독에서는 이 수명 주기를 명시적으로 유지하십시오:
- 콜백이 있는 SCDynamicStore 세션을 만듭니다.
SCDynamicStoreSetNotificationKeys로 정확한 키나 패턴을 등록합니다. 이들은 별도의 배열입니다. 전역 프록시 키는State:/Network/Global/Proxies입니다. 서비스별 입력은 전송이 사용하는 곳에만 추가하십시오.SCDynamicStoreSetDispatchQueue또는 적절한 run-loop 소스를 통해 콜백 전달을 구성합니다. 이름만 등록해서는 콜백이 실행되지 않습니다.- 알림을 받으면 유효 구성을 다시 읽고 이후 작업을 갱신합니다. 변경된 키 목록 자체가 완전한 새 정책은 아닙니다.
- 종료할 때 소유 리소스를 해제하기 전에 널 큐로 전달을 비활성화합니다. 그때까지 저장소와 콜백 컨텍스트를 살려 두십시오.
Apple 헤더는 빈 변경 키 목록을 동적 저장소 서버의 재시작으로 정의합니다. 이 경우에도 관련 상태를 새로 고치고 이전 내용에 근거한 가정을 버리십시오.
이것은 공개 macOS API 접근 방식입니다. Apple 헤더는 해당 함수를 iOS용 비공개 SPI로 표시하므로 같은 구독은 공개 iOS 애플리케이션 인터페이스가 아닙니다.