ជាវការផ្លាស់ប្តូរការកំណត់ប្រូកស៊ី macOS
តាមដានកូនសោឃ្លាំងឌីណាមិក SystemConfiguration ដែលពាក់ព័ន្ធ ហើយធ្វើបច្ចុប្បន្នភាពគោលនយោបាយប្រូកស៊ីរបស់ transport ផ្ទាល់ខ្លួន នៅពេល macOS រាយការណ៍ការផ្លាស់ប្តូរ។
Transport ដែលប្រើរូបភាពប្រូកស៊ីតែពេលចាប់ផ្តើមអាចនៅចាស់លើសក្រោយការផ្លាស់ប្តូរបណ្តាញ ឬទីតាំង។ សម្រាប់ការជាវ macOS SystemConfiguration សូមរក្សាវដ្តជីវិតនេះឱ្យច្បាស់៖
- បង្កើតសេសសិន SCDynamicStore ជាមួយ callback។
- ចុះឈ្មោះកូនសោ ឬលំនាំជាក់លាក់ដោយ
SCDynamicStoreSetNotificationKeys។ ពួកវាជាអារេដាច់ដោយឡែក។ កូនសោប្រូកស៊ីសកលគឺState:/Network/Global/Proxies; បន្ថែមធាតុចូលជាក់លាក់សេវាតែកន្លែងដែល transport ប្រើវា។ - រៀបចំការដឹកជញ្ជូន callback តាមរយៈ
SCDynamicStoreSetDispatchQueueឬប្រភព run-loop សមស្រប។ ការចុះឈ្មោះតែឈ្មោះមិនដំណើរការ callback ទេ។ - ពេលទទួលបានការជូនដំណឹង សូមអានការកំណត់ដែលមានប្រសិទ្ធភាពឡើងវិញ ហើយធ្វើបច្ចុប្បន្នភាពការងារបន្ត។ បញ្ជីកូនសោដែលបានផ្លាស់ប្តូរមិនមែនជាគោលនយោបាយថ្មីពេញលេញដោយខ្លួនឯងទេ។
- ពេលបិទ សូមបិទការដឹកជញ្ជូនដោយជួរទទេ មុនពេលបញ្ចេញធនធានដែលកាន់កាប់។ រក្សាឃ្លាំង និងបរិបទ callback ឱ្យរស់រហូតដល់ពេលនោះ។
ក្បាលទំព័រ Apple កំណត់បញ្ជីកូនសោដែលបានផ្លាស់ប្តូរទទេថាជាការចាប់ផ្តើមឡើងវិញនៃម៉ាស៊ីនមេឃ្លាំងឌីណាមិក។ ក្នុងករណីនោះដែរ សូមធ្វើបច្ចុប្បន្នភាពស្ថានភាពពាក់ព័ន្ធ ហើយបោះបង់ការសន្មត់ដែលផ្អែកលើខ្លឹមសារមុន។
នេះជាវិធីសាស្ត្រ API macOS សាធារណៈ។ ក្បាលទំព័រ Apple សម្គាល់មុខងារពាក់ព័ន្ធជា SPI ឯកជនសម្រាប់ iOS ដូច្នេះការជាវដូចគ្នាមិនមែនជាចំណុចប្រទាក់កម្មវិធី iOS សាធារណៈទេ។