Тек іске қосылу кезіндегі прокси суретін пайдаланатын транспорт желі немесе орын ауысқаннан кейін ескіріп қалуы мүмкін. macOS SystemConfiguration жазылымы үшін бұл өмірлік циклді анық ұстаңыз:

  1. Callback бар SCDynamicStore сессиясын жасаңыз.
  2. SCDynamicStoreSetNotificationKeys арқылы нақты кілттерді немесе үлгілерді тіркеңіз. Бұлар жеке массивтер. Жаһандық прокси кілті — State:/Network/Global/Proxies; қызметке тән кірістерді тек транспорт оларды пайдаланатын жерде қосыңыз.
  3. Callback жеткізуін SCDynamicStoreSetDispatchQueue немесе тиісті run-loop көзі арқылы ұйымдастырыңыз. Тек атауларды тіркеу callback-ті іске қоспайды.
  4. Хабарлама келгенде әрекеттегі конфигурацияны қайта оқып, кейінгі жұмысты жаңартыңыз. Өзгерген кілттер тізімі өзі толық жаңа саясат емес.
  5. Өшіру кезінде иеліктегі ресурстарды босатпас бұрын жеткізуді бос кезекпен өшіріңіз. Оған дейін қойма мен callback контекстін тірі ұстаңыз.

Apple тақырыпшасы бос өзгерген-кілттер тізімін динамикалық қойма серверінің қайта іске қосылуы деп анықтайды. Бұл жағдайда да тиісті күйді жаңартып, алдыңғы мазмұнға негізделген болжамдардан бас тартыңыз.

Бұл — жария macOS API тәсілі. Apple тақырыпшалары тиісті функцияларды iOS үшін жеке SPI деп белгілейді, сондықтан сол жазылым жария iOS қолданба интерфейсі емес.

Қатысты мақалалар