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