Transport שמשתמש בצילום מצב של ה-proxy רק בזמן האתחול עלול להישאר מיושן לאחר שינוי רשת או מיקום. עבור מינוי macOS SystemConfiguration, שמרו על מחזור חיים זה מפורש:

  1. צרו הפעלת SCDynamicStore עם פונקציית callback.
  2. רשמו מפתחות או תבניות מדויקים באמצעות SCDynamicStoreSetNotificationKeys. אלו מערכים נפרדים. מפתח ה-proxy הגלובלי הוא State:/Network/Global/Proxies; הוסיפו קלטים ייחודיים לשירות רק במקום שבו ה-transport צורך אותם.
  3. סדרו מסירת callback דרך SCDynamicStoreSetDispatchQueue או מקור ה-run-loop המתאים. רישום שמות בלבד אינו מריץ את ה-callback.
  4. עם קבלת התראה, קראו מחדש את התצורה האפקטיבית ועדכנו את העבודה הבאה. רשימת המפתחות שהשתנו אינה כשלעצמה המדיניות החדשה השלמה.
  5. בעת כיבוי, השביתו את המסירה עם תור ריק לפני שחרור משאבים בבעלותכם. שמרו על המאגר והקשר ה-callback חיים עד אז.

כותרת ה-Apple מגדירה רשימת מפתחות שהשתנו ריקה כאתחול מחדש של שרת המאגר הדינמי. גם במקרה זה רעננו את המצב הרלוונטי וזרקו הנחות המבוססות על התוכן הקודם.

זוהי גישה ציבורית של API macOS. כותרות ה-Apple מסמנות את הפונקציות המתאימות כ-SPI פרטי ל-iOS, לכן אותו מינוי אינו ממשק יישומי iOS ציבורי.

מאמרים קשורים