გამოიწერეთ 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 აპლიკაციის ინტერფეისი არ არის.