
Znajomość faz wymuszania uaktualnienia oprogramowania Apple
Wymuszanie uaktualnień oprogramowania za pomocą funkcji zarządzania urządzeniami obejmuje pięć głównych elementów:
usługę zarządzania urządzeniami,
urządzenie,
użytkownika,
usługę Apple Software Lookup Service,
Apple Software Update Catalog.
Faza 1
Usługa zarządzania urządzeniami regularnie monitoruje usługę Apple Software Lookup Service pod kątem nowych wydań. Jeśli je wykryje, używa klucza katalogu SupportedDevices
i porównuje go z listą zarządzanych urządzeń, aby określić, do których urządzeń ma zastosowanie wydanie.
Usługa zarządzania urządzeniami powinna także odbierać raporty o statusie softwareupdate.*
i device.operating-system.*
w celu automatycznego pobierania uaktualnień, gdy dowolna z tych wartości ulegnie zmianie.

Faza 2
Usługa zarządzania urządzeniami tworzy deklarację com.apple.configuration.softwareupdate.enforcement.specific
z wykrytą wersją i definiuje klucz TargetLocalDateTime
i opcjonalnie klucz DetailsURL
zgodnie z wymaganiami organizacji. Następnie usługa zarządzania urządzeniami wysyła powiadomienie push do urządzenia, aby uruchomić synchronizację deklaracji. Aby uzyskać więcej informacji, zobacz: Integrating Declarative Management (Integrowanie zarządzania deklaratywnego) w witrynie Apple dla deweloperów.

Faza 3
Gdy deklaracja stanie się aktywna na urządzeniu, urządzenie kontaktuje się z katalogiem Apple Software Update Catalog, aby pobrać adres URL pobierania, i rozpoczyna pobieranie uaktualnienia, jeśli spełnia ono wymagania. Następnie urządzenie wyświetla powiadomienie użytkownikowi i zwraca następujące informacje do usługi zarządzania urządzeniami:
1. Wartość softwareupdate.install-state
„waiting”, co wskazuje rozpoczęcie procesu proszenia o uaktualnienie.
2. Wartość softwareupdate.install-state
„downloading”, co wskazuje, że uaktualnienie jest pobierane przez urządzenie.
Jeśli usługa magazynu zawartości jest dostępna dla urządzenia, urządzenie podejmuje próbę pobrania uaktualnienia oprogramowania z magazynu zawartości.
Po pomyślnym pobraniu uaktualnienia urządzenie przygotowuje je do instalacji. Po zakończeniu tego procesu system operacyjny wysyła do usługi zarządzania urządzeniami klucz softwareupdate.install-state
z wartością prepared
.

Faza 4
Urządzenie wkracza w okres powiadamiania. W zależności od tego, kiedy ma nastąpić instalacja, powiadomienie to może wyświetlać inny tekst i opcje.

Faza 5
W przypadku, gdy użytkownik nie zainstaluje uaktualnienia przed upływem terminu wymuszania, urządzenie rozpoczyna instalację i wysyła do usługi zarządzania urządzeniami klucz softwareupdate.install-state
z wartością installing
. Przed rozpoczęciem instalacji komputer Mac z układem scalonym Apple kontaktuje się z usługą zarządzania urządzeniami w celu pobrania tokenu inicjującego (jeśli jest dostępny).
Jeśli uaktualnienie się powiedzie, urządzenie uruchomi się ponownie. Jeśli uaktualnienie się nie powiedzie, wysyłany jest klucz softwareupdate.install-state
z wartością failed
. W obu przypadkach urządzenie przesyła z powrotem raport o statusie softwareupdate.failure-reason
. Jeśli uaktualnienie się powiodło, klucz liczby ma wartość 0
.

Faza 6
Teraz urządzenie wysyła z powrotem do usługi zarządzania urządzeniami przedstawione dalej informacje. W zależności od uaktualnienia niektóre obiekty mogą nie mieć wartości zwrotnych.
StatusDeviceOperatingSystemVersion: raport o statusie wersji systemu operacyjnego urządzenia.
StatusDeviceOperatingSystemBuildVersion: raport o statusie identyfikatora kompilacji oprogramowania urządzenia.
StatusDeviceOperatingSystemSupplementalBuildVersion: raport o statusie wersji systemu operacyjnego urządzenia i identyfikator kompilacji pilnego uaktualnienia zabezpieczeń.
StatusDeviceOperatingSystemSupplementalExtraVersion: raport o statusie identyfikatora kompilacji pilnego uaktualnienia zabezpieczeń systemu operacyjnego urządzenia.

Faza 7
Usługa zarządzania urządzeniami anuluje przypisanie deklaracji do urządzenia i wysyła do niego powiadomienie push w celu zainicjowania synchronizacji. Po zsynchronizowaniu urządzenie usuwa deklarację.
