'n Transport wat slegs 'n proxy-momentopname by die aanvang gebruik, kan verouderd bly nadat die netwerk of ligging verander. Vir 'n macOS SystemConfiguration-intekening moet hierdie lewensiklus eksplisiet gehou word:

  1. Skep 'n SCDynamicStore-sessie met 'n terugroepfunksie.
  2. Registreer presiese sleutels of patrone met SCDynamicStoreSetNotificationKeys. Dit is afsonderlike skikkings. Die globale proxy-sleutel is State:/Network/Global/Proxies; voeg diensspesifieke insette net by waar die transport dit verbruik.
  3. Reël terugroeplewering deur SCDynamicStoreSetDispatchQueue of die toepaslike run-loop-bron. Om net name te registreer, laat die terugroepfunksie nie loop nie.
  4. Lees by kennisgewing die effektiewe konfigurasie weer en werk daaropvolgende werk by. Die lys van veranderde sleutels is nie self die volledige nuwe beleid nie.
  5. Deaktiveer by afsluiting die versending met 'n nul-tou voordat besitte hulpbronne vrygestel word. Hou die stoor en terugroepkonteks lewendig tot dan.

Apple se kop definieer 'n leë lys veranderde sleutels as 'n herbegin van die dinamiese stoordiener. Verfris die relevante toestand en verwerp in daardie geval ook aannames wat op die vorige inhoud berus.

Dit is 'n publieke macOS-API-benadering. Apple se koppe merk die ooreenstemmende funksies as private SPI vir iOS, so dieselfde intekening is nie 'n publieke iOS-toepassingkoppelvlak nie.

Verwante artikels