Претплатите се на промене конфигурације проксија у macOS-у
Пратите релевантне кључеве динамичког складишта SystemConfiguration и освежите прокси политику прилагођеног транспорта када macOS пријави промене.
Транспорт који користи снимак проксија само при покретању може остати застарео након промене мреже или локације. За macOS SystemConfiguration претплату држите овај животни циклус експлицитним:
- Направите SCDynamicStore сесију са callback функцијом.
- Региструјте тачне кључеве или обрасце помоћу
SCDynamicStoreSetNotificationKeys. То су одвојени низови. Глобални прокси кључ јеState:/Network/Global/Proxies; додајте уносе специфичне за услугу само тамо где их транспорт користи. - Организујте испоруку callback-а путем
SCDynamicStoreSetDispatchQueueили одговарајућег run-loop извора. Само регистровање имена не покреће callback. - На обавештење поново прочитајте ефективну конфигурацију и ажурирајте даљи рад. Листа промењених кључева сама по себи није комплетна нова политика.
- При гашењу онемогућите испоруку празним редом пре ослобађања сопствених ресурса. Држите складиште и контекст callback-а живим до тада.
Apple-ов хедер дефинише празну листу промењених кључева као поновно покретање сервера динамичког складишта. И у том случају освежите релевантно стање и одбаците претпоставке засноване на претходном садржају.
Ово је јавни приступ преко macOS API-ја. Apple-ови хедери означавају одговарајуће функције као приватни SPI за iOS, па иста претплата није јавно сучеље iOS апликација.