macOS प्रॉक्सी कॉन्फ़िगरेशन परिवर्तनों की सदस्यता लें
प्रासंगिक SystemConfiguration डायनामिक-स्टोर कुंजियों पर नज़र रखें और macOS के परिवर्तन बताने पर किसी कस्टम ट्रांसपोर्ट की प्रॉक्सी नीति ताज़ा करें।
केवल शुरुआत में लिए गए प्रॉक्सी स्नैपशॉट का उपयोग करने वाला ट्रांसपोर्ट नेटवर्क या स्थान बदलने के बाद पुराना पड़ा रह सकता है। macOS SystemConfiguration सदस्यता के लिए इस जीवनचक्र को स्पष्ट रखें:
- कॉलबैक के साथ SCDynamicStore सत्र बनाएँ।
SCDynamicStoreSetNotificationKeysसे सटीक कुंजियाँ या पैटर्न पंजीकृत करें। ये अलग-अलग सरणियाँ हैं। वैश्विक प्रॉक्सी कुंजीState:/Network/Global/Proxiesहै; सेवा-विशिष्ट इनपुट केवल वहीं जोड़ें जहाँ ट्रांसपोर्ट उनका उपयोग करता है।SCDynamicStoreSetDispatchQueueया उपयुक्त रन-लूप स्रोत के माध्यम से कॉलबैक डिलीवरी की व्यवस्था करें। केवल नाम पंजीकृत करने से कॉलबैक नहीं चलता।- सूचना मिलने पर प्रभावी कॉन्फ़िगरेशन फिर से पढ़ें और आगे का काम अपडेट करें। बदली हुई कुंजियों की सूची स्वयं पूरी नई नीति नहीं है।
- बंद करते समय स्वामित्व वाले संसाधन छोड़ने से पहले शून्य क्यू के साथ डिलीवरी बंद करें। तब तक स्टोर और कॉलबैक संदर्भ जीवित रखें।
Apple का हेडर खाली बदली-कुंजी सूची को डायनामिक-स्टोर सर्वर का पुनः आरंभ मानता है। उस स्थिति में भी प्रासंगिक स्थिति ताज़ा करें और पिछली सामग्री पर आधारित अनुमान छोड़ दें।
यह सार्वजनिक macOS API दृष्टिकोण है। Apple के हेडर संबंधित फ़ंक्शन को iOS के लिए निजी SPI के रूप में चिह्नित करते हैं, इसलिए वही सदस्यता सार्वजनिक iOS अनुप्रयोग इंटरफ़ेस नहीं है।