Բաժանորդագրվել macOS-ի պրոքսի կարգավորման փոփոխություններին
Հետևե՛ք SystemConfiguration դինամիկ պահոցի համապատասխան բանալիներին և թարմացրե՛ք հարմարեցված փոխադրման պրոքսի քաղաքականությունը, երբ macOS-ը հաղորդում է փոփոխությունների մասին։
Փոխադրումը, որն օգտագործում է պրոքսիի պահապատկեր միայն գործարկման պահին, կարող է հնացած մնալ ցանցի կամ տեղադրության փոփոխությունից հետո։ macOS SystemConfiguration բաժանորդագրության համար այս կյանքի ցիկլը պահե՛ք հստակ.
- Ստեղծե՛ք SCDynamicStore սեսիա callback-ով։
- Գրանցե՛ք ճշգրիտ բանալիներ կամ օրինաչափություններ
SCDynamicStoreSetNotificationKeys-ով։ Դրանք առանձին զանգվածներ են։ Համաշխարհային պրոքսի բանալինState:/Network/Global/Proxies-ն է. ծառայությանը հատուկ մուտքեր ավելացրե՛ք միայն այնտեղ, որտեղ փոխադրումը դրանք օգտագործում է։ - Կազմակերպե՛ք callback-ի առաքումը
SCDynamicStoreSetDispatchQueue-ով կամ համապատասխան run-loop աղբյուրով։ Միայն անունների գրանցումը չի գործարկում callback-ը։ - Ծանուցման պահին կրկին կարդացե՛ք գործող կարգավորումը և թարմացրե՛ք հետագա աշխատանքը։ Փոփոխված բանալիների ցանկն ինքնին ամբողջական նոր քաղաքականություն չէ։
- Անջատման պահին անջատե՛ք առաքումը դատարկ հերթով՝ նախքան պատկանող ռեսուրսների ազատումը։ Պահե՛ք պահոցն ու callback-ի համատեքստը կենդանի մինչ այդ։
Apple-ի վերնագիրը դատարկ փոփոխված-բանալիների ցանկը սահմանում է որպես դինամիկ պահոցի սերվերի վերագործարկում։ Այդ դեպքում նույնպես թարմացրե՛ք համապատասխան վիճակը և հրաժարվե՛ք նախորդ բովանդակության վրա հիմնված ենթադրություններից։
Սա հանրային macOS API մոտեցում է։ Apple-ի վերնագրերը համապատասխան ֆունկցիաները նշում են որպես iOS-ի համար մասնավոր SPI, ուստի նույն բաժանորդագրությունը հանրային iOS հավելվածի ինտերֆեյս չէ։