Yalnızca başlangıçta proxy anlık görüntüsü kullanan bir taşıyıcı, ağ veya konum değişikliğinden sonra eski kalabilir. macOS SystemConfiguration aboneliği için bu yaşam döngüsünü açık tutun:

  1. Geri çağrılı bir SCDynamicStore oturumu oluşturun.
  2. SCDynamicStoreSetNotificationKeys ile tam anahtarları veya desenleri kaydedin. Bunlar ayrı dizilerdir. Genel proxy anahtarı State:/Network/Global/Proxies; hizmete özgü girdileri yalnızca taşıyıcının kullandığı yere ekleyin.
  3. Geri çağrı teslimini SCDynamicStoreSetDispatchQueue veya uygun run-loop kaynağı aracılığıyla düzenleyin. Yalnızca adları kaydetmek geri çağrıyı çalıştırmaz.
  4. Bildirim geldiğinde etkin yapılandırmayı yeniden okuyun ve sonraki işi güncelleyin. Değişen anahtar listesi kendi başına tam yeni ilke değildir.
  5. Kapanışta sahip olunan kaynakları bırakmadan önce teslimi boş bir kuyrukla devre dışı bırakın. O zamana kadar depoyu ve geri çağrı bağlamını canlı tutun.

Apple başlığı boş bir değişen anahtar listesini dinamik depo sunucusunun yeniden başlatılması olarak tanımlar. Bu durumda da ilgili durumu yenileyin ve önceki içeriğe dayanan varsayımları bırakın.

Bu, herkese açık bir macOS API yaklaşımıdır. Apple başlıkları ilgili işlevleri iOS için özel SPI olarak işaretler, bu nedenle aynı abonelik herkese açık bir iOS uygulama arayüzü değildir.

İlgili makaleler