
Känna till faserna för genomdrivning av Apple-programuppdateringar
Genomdrivning av programuppdateringar med enhetshantering omfattar fem huvudkomponenter:
Enhetshanteringstjänsten
Enheten
Användaren
Apple Software Lookup Service
Apple Software Update Catalog
Fas 1
Enhetshanteringstjänsten letar regelbundet efter nya versioner via Apple Software Lookup Service. Om den upptäcker en ny version använder den nyckeln SupportedDevices
i katalogen och jämför den med sin lista över hanterade enheter för att avgöra på vilka enheter versionen kan installeras.
Enhetshanteringstjänsten bör också abonnera på statusrapporterna softwareupdate.
och device.operating-system.
så att den automatiskt kan hämta uppdateringar när något av de värdena ändras.

Fas 2
Enhetshanteringstjänsten skapar deklarationen com.apple.configuration.softwareupdate.enforcement.specific
med den upptäckta versionen och definierar TargetLocalDateTime
och, om så önskas, även DetailsURL
i enlighet med organisationens krav. Enhetshanteringstjänsten skickar sedan en pushnotis till enheten för att utlösa synkroniseringen av deklarationer. Mer information finns i Integrating Declarative Management på Apple Developer-webbplatsen.

Fas 3
När deklarationen blir aktiv på en enhet kontaktar operativsystemet Apple Software Update Catalog för att få en hämtnings-URL och börjar sedan att hämta uppdateringen om kraven uppfylls. Enheten visar sedan en notis för användaren och returnerar följande till enhetshanteringstjänsten:
1. Värdet waiting för softwareupdate.install-state
som visar att processen för att begära uppdateringen har påbörjats.
2. Värdet downloading för softwareupdate.install-state
som visar att uppdateringen hämtas av enheten.
Om en innehållscachetjänst är tillgänglig för enheten försöker den att hämta programuppdateringen från innehållscachen.
När enheten har hämtat uppdateringen förbereds den för installation. När den här processen är klar skickar operativsystemet värdet prepared
för softwareupdate.install-state
till enhetshanteringstjänsten.

Fas 4
Notisperioden startar på enheten. Beroende på när installationen ska ske kan den här notisen visa olika texter och alternativ.

Fas 5
Om användaren inte har installerat uppdateringen innan deadline för genomdrivningen påbörjar enheten installationen och skickar värdet installing
för softwareupdate.install-state
till enhetshanteringstjänsten. Innan installationen påbörjas på en Mac med Apple Silicon kontaktar den enhetshanteringstjänsten för att hämta en bootstrap-token (om en sådan är tillgänglig).
Om uppdateringen slutförs startar enheten om. Om uppdateringen misslyckas skickas värdet failed
för softwareupdate.install-state
. I båda fallen skickar enheten tillbaka statusrapporten softwareupdate.failure-reason
. Om uppdateringen slutfördes har antalsnyckeln värdet 0
.

Fas 6
Enheten skickar sedan följande information till enhetshanteringstjänsten. Beroende på uppdateringen kanske vissa objekt inte har returvärden.
StatusDeviceOperatingSystemVersion: En statusrapport med enhetens operativsystemversion.
StatusDeviceOperatingSystemBuildVersion: En statusrapport med enhetens bygg-ID för programvara.
StatusDeviceOperatingSystemSupplementalBuildVersion: En statusrapport med enhetens operativsystemversion och bygg-ID för snabbt säkerhetssvar.
StatusDeviceOperatingSystemSupplementalExtraVersion: En statusrapport med enhetens operativsystems-ID för snabbt säkerhetssvar.

Fas 7
Enhetshanteringstjänsten tar bort tilldelningen av deklarationen från enheten och skickar en pushnotis till den för att inleda synkroniseringen. Efter synkroniseringen tar enheten bort deklarationen.
