
Phasen der Durchsetzung von Apple-Softwareupdates verstehen
Das Erzwingen von Softwareupdates mithilfe der Geräteverwaltung enthält folgende fünf Hauptkomponenten:
Geräteverwaltungsdienst
Gerät
Benutzer:in
Lookup-Dienst der Apple-Software
Apple Softwareupdate-Katalog
Phase 1
Der Geräteverwaltungsdienst überprüft den Lookup-Dienst der Apple-Software regelmäßig auf neue Versionen. Falls eine gefunden wird, wird der Schlüssel SupportedDevices
des Katalogs verwendet und die Version wird mit der Liste der verwalteten Geräte verglichen, um zu bestimmen, bei welchen Geräten diese Version angewendet werden kann.
Der Geräteverwaltungsdienst sollte zudem die Statusberichte softwareupdate.
und device.operating-system.
abonnieren, um automatische Updates abzurufen, wenn sich einer dieser Werte ändert.

Phase 2
Der Geräteverwaltungsdienst erstellt eine Deklaration com.apple.configuration.softwareupdate.enforcement.specific
mit der erkannten Version und definiert TargetLocalDateTime
sowie optional DetailsURL
entsprechend der Anforderungen der Organisation. Der Geräteverwaltungsdienst sendet dann eine Push-Mitteilung an das Gerät, um die Synchronisierung der Deklarationen auszulösen. Weitere Informationen erhältst du unter Integrating Declarative Management auf der Apple Developer-Website.

Phase 3
Nach Aktivierung der Deklaration auf einem Gerät kontaktiert das Betriebssystem den Apple Softwareupdate-Katalog, um die Download-URL abzurufen und beginnt anschließend mit dem Download des Updates, sofern die Anforderungen erfüllt sind. Das Gerät zeigt Benutzer:innen dann eine Mitteilung an und sendet Folgendes an den Geräteverwaltungsdienst:
1. Ein Wert für „waiting“ in softwareupdate.install-state
, der anzeigt, dass der Vorgang zum Anfordern des Updates gestartet wurde.
2. Ein Wert für „downloading“ in softwareupdate.install-state
, der anzeigt, dass das Update auf das Gerät geladen wird.
Wenn dem Gerät ein Inhaltscachingdienst zur Verfügung steht, wird versucht, das Softwareupdate aus dem Inhaltscache zu laden.
Nachdem das Gerät das Update erfolgreich geladen hat, wird es für die Installation vorbereitet. Nach Abschluss dieses Vorgangs sendet das Betriebssystem den Wert prepared
für softwareupdate.install-state
an den Geräteverwaltungsdienst.

Phase 4
Das Gerät befindet sich nun in der Mitteilungsphase. Je nachdem, wann die Installation erfolgen soll, werden in der Mitteilung verschiedene Texte und Optionen angezeigt.

Phase 5
Falls das Update vor dem Durchsetzungszeitpunkt noch nicht installiert wurde, startet das Gerät die Installation und sendet für softwareupdate.install-state
den Wert installing
an den Geräteverwaltungsdienst. Bevor die Installation gestartet wird, kontaktieren Macs mit Apple Chips den Geräteverwaltungsdienst, um ein ggf. verfügbares Bootstrap Token zu erhalten.
Wenn das Update erfolgreich war, wird das Gerät neu gestartet. Wenn das Update fehlschlägt, wird für softwareupdate.install-state
ein Wert von failed
gesendet. In beiden Fällen sendet das Gerät einen Statusbericht für softwareupdate.failure-reason
. Wenn das Update erfolgreich war, beträgt der Wert für den Schlüssel „count“ 0
.

Phase 6
Das Gerät sendet dann folgende Informationen an den Geräteverwaltungsdienst. Je nach Update haben manche Objekte möglicherweise keine Rückgabewerte.
StatusDeviceOperatingSystemVersion: Ein Statusbericht mit der Betriebssystemversion des Geräts.
StatusDeviceOperatingSystemBuildVersion: Ein Statusbericht mit der Software-Build-ID des Geräts.
StatusDeviceOperatingSystemSupplementalBuildVersion: Ein Statusbericht mit der Betriebssystemversion des Geräts und Build-ID der schnellen Sicherheitsmaßnahme.
StatusDeviceOperatingSystemSupplementalExtraVersion: Ein Statusbericht der ID der schnellen Sicherheitsmaßnahme des Betriebssystems des Geräts.

Phase 7
Der Geräteverwaltungsdienst weist die Deklaration vom Gerät ab und sendet eine Push-Mitteilung, um die Synchronisierung zu starten. Nach der Synchronisierung entfernt das Gerät die Deklaration.
