Abonēt macOS starpniekservera konfigurācijas izmaiņas
Sekojiet attiecīgajām SystemConfiguration dinamiskās krātuves atslēgām un atsvaidziniet pielāgota transporta starpniekservera politiku, kad macOS ziņo par izmaiņām.
Transports, kas starpniekservera momentuzņēmumu izmanto tikai palaišanas laikā, pēc tīkla vai atrašanās vietas maiņas var palikt novecojis. Ja abonējat macOS SystemConfiguration, uzturiet šo dzīves ciklu skaidru:
- Izveidojiet SCDynamicStore sesiju ar atzvanīšanu.
- Reģistrējiet precīzas atslēgas vai modeļus ar
SCDynamicStoreSetNotificationKeys. Tie ir atsevišķi masīvi. Globālā starpniekservera atslēga irState:/Network/Global/Proxies; pievienojiet pakalpojumam raksturīgos ievadus tikai tur, kur transports tos izmanto. - Organizējiet atzvanīšanas piegādi, izmantojot
SCDynamicStoreSetDispatchQueuevai atbilstošo run-loop avotu. Tikai nosaukumu reģistrēšana atzvanīšanu neizpilda. - Saņemot paziņojumu, atkārtoti izlasiet efektīvo konfigurāciju un atjauniniet turpmāko darbu. Mainīto atslēgu saraksts pats par sevi nav pilnīga jaunā politika.
- Izslēdzot, atspējojiet piegādi ar nulles rindu pirms piederīgo resursu atbrīvošanas. Līdz tam uzturiet krātuvi un atzvanīšanas kontekstu dzīvu.
Apple galvene tukšu mainīto atslēgu sarakstu definē kā dinamiskās krātuves servera restartu. Arī šajā gadījumā atsvaidziniet attiecīgo stāvokli un atmetiet pieņēmumus, kas balstīti uz iepriekšējo saturu.
Šī ir publiska macOS API pieeja. Apple galvenes attiecīgās funkcijas atzīmē kā privātu SPI iOS, tāpēc tas pats abonements nav publiska iOS lietotņu saskarne.