Langgan perubahan konfigurasi proksi macOS
Pantau kunci stor dinamik SystemConfiguration yang berkaitan dan segarkan dasar proksi pengangkutan tersuai apabila macOS melaporkan perubahan.
Pengangkutan yang hanya menggunakan petikan proksi semasa permulaan boleh kekal lapuk selepas perubahan rangkaian atau lokasi. Untuk langganan macOS SystemConfiguration, kekalkan kitaran hayat ini secara eksplisit:
- Cipta sesi SCDynamicStore dengan callback.
- Daftarkan kunci atau corak yang tepat dengan
SCDynamicStoreSetNotificationKeys. Kedua-duanya ialah tatasusunan berasingan. Kunci proksi global ialahState:/Network/Global/Proxies; tambah input khusus perkhidmatan hanya di tempat pengangkutan menggunakannya. - Atur penghantaran callback melalui
SCDynamicStoreSetDispatchQueueatau sumber run-loop yang sesuai. Mendaftar nama sahaja tidak menjalankan callback. - Semasa pemberitahuan, baca semula konfigurasi berkesan dan kemas kini kerja seterusnya. Senarai kunci yang berubah bukanlah dasar baharu yang lengkap dengan sendirinya.
- Semasa mematikan, lumpuhkan penghantaran dengan baris gilir nol sebelum melepaskan sumber yang dimiliki. Kekalkan stor dan konteks callback hidup sehingga itu.
Pengepala Apple mentakrifkan senarai kunci berubah yang kosong sebagai permulaan semula pelayan stor dinamik. Dalam kes itu juga, segarkan keadaan berkaitan dan buang andaian berdasarkan kandungan sebelumnya.
Ini ialah pendekatan API macOS awam. Pengepala Apple menandakan fungsi berkaitan sebagai SPI peribadi untuk iOS, jadi langganan yang sama bukan antara muka aplikasi iOS awam.