Транспорт који користи снимак проксија само при покретању може остати застарео након промене мреже или локације. За macOS SystemConfiguration претплату држите овај животни циклус експлицитним:

  1. Направите SCDynamicStore сесију са callback функцијом.
  2. Региструјте тачне кључеве или обрасце помоћу SCDynamicStoreSetNotificationKeys. То су одвојени низови. Глобални прокси кључ је State:/Network/Global/Proxies; додајте уносе специфичне за услугу само тамо где их транспорт користи.
  3. Организујте испоруку callback-а путем SCDynamicStoreSetDispatchQueue или одговарајућег run-loop извора. Само регистровање имена не покреће callback.
  4. На обавештење поново прочитајте ефективну конфигурацију и ажурирајте даљи рад. Листа промењених кључева сама по себи није комплетна нова политика.
  5. При гашењу онемогућите испоруку празним редом пре ослобађања сопствених ресурса. Држите складиште и контекст callback-а живим до тада.

Apple-ов хедер дефинише празну листу промењених кључева као поновно покретање сервера динамичког складишта. И у том случају освежите релевантно стање и одбаците претпоставке засноване на претходном садржају.

Ово је јавни приступ преко macOS API-ја. Apple-ови хедери означавају одговарајуће функције као приватни SPI за iOS, па иста претплата није јавно сучеље iOS апликација.

Повезани чланци