mirror of
https://github.com/apple/device-management.git
synced 2026-07-11 05:23:42 +02:00
94 lines
4.3 KiB
YAML
94 lines
4.3 KiB
YAML
title: Software Update:Enforcement:Specific
|
|
description: The declaration to configure a software update enforcement policy for
|
|
a specific OS release.
|
|
payload:
|
|
declarationtype: com.apple.configuration.softwareupdate.enforcement.specific
|
|
supportedOS:
|
|
iOS:
|
|
introduced: '17.0'
|
|
allowed-enrollments:
|
|
- supervised
|
|
- device
|
|
allowed-scopes:
|
|
- system
|
|
sharedipad:
|
|
allowed-scopes:
|
|
- system
|
|
macOS:
|
|
introduced: '14.0'
|
|
allowed-enrollments:
|
|
- supervised
|
|
allowed-scopes:
|
|
- system
|
|
tvOS:
|
|
introduced: '18.4'
|
|
allowed-enrollments:
|
|
- supervised
|
|
- device
|
|
allowed-scopes:
|
|
- system
|
|
visionOS:
|
|
introduced: '26.0'
|
|
allowed-enrollments:
|
|
- supervised
|
|
- device
|
|
allowed-scopes:
|
|
- system
|
|
watchOS:
|
|
introduced: n/a
|
|
apply: multiple
|
|
payloadkeys:
|
|
- key: TargetOSVersion
|
|
title: Target OS version
|
|
type: <string>
|
|
presence: required
|
|
content: The target OS version to update the device to by the appropriate time.
|
|
This is the OS version number, for example, `16.1`.
|
|
- key: TargetBuildVersion
|
|
title: Target build version
|
|
type: <string>
|
|
presence: optional
|
|
content: The target build version to update the device to by the appropriate time,
|
|
for example, `20A242`. Use the build version for testing during seeding periods.
|
|
The build version can include a supplemental version identifier, for example,
|
|
`20A242a`.
|
|
- key: TargetLocalDateTime
|
|
title: Target local date time
|
|
type: <string>
|
|
presence: required
|
|
content: The local date time value that specifies when to force install the software
|
|
update. Use the format `yyyy-mm-ddThh:mm:ss`, which is derived from RFC 3339 but
|
|
doesn't include a time zone offset or fractional seconds. If the user doesn't
|
|
trigger the software update before this time, the device force installs it.
|
|
- key: DetailsURL
|
|
title: Details URL
|
|
type: <string>
|
|
presence: optional
|
|
content: The URL of a web page that shows details that the organization provides
|
|
about the enforced software update.
|
|
related-status-items:
|
|
- status-items:
|
|
- softwareupdate.failure-reason
|
|
- softwareupdate.install-reason
|
|
- softwareupdate.install-state
|
|
- softwareupdate.pending-version
|
|
note: This configuration may affect the corresponding status items.
|
|
notes:
|
|
- title: ''
|
|
content: |-
|
|
If the `TargetOSVersion` and optional `TargetBuildVersion` values don't match an available software update, the device keeps the configuration active, but won't be able to update. If a software update that matches these keys becomes available later, the device will process the update.
|
|
|
|
To determine available software updates to show to an admin, a device management service uses the Apple GDMF service via `https://gdmf.apple.com/v2/pmv`. Configurations only enforce a software update if GDMF has the corresponding OS version or build available. So device management services need to regularly check available versions, and adjust the list shown to admins, and also remove any deployed configurations that use OS versions or builds that are no longer available. Device management services should check GDMF no more than once a day.
|
|
|
|
The system installs the specific version set in the `TargetOSVersion`, and it won't install a patch version if only a minor version is set.
|
|
|
|
The system can only install a supplemental software update on a device that already has the base OS version installed. For example, the system can only install a `16.1`(a) update on a device that currently has `16.1` installed, but it can't install that update on a device that has only `16.0` installed. To update to a supplemental version from an older base version, use two configurations. Use the first configuration to update to the new base version, and the second configuration to update the new base version to its supplemental version.
|
|
|
|
If the device isn't running at the target date-time, the system enforces the software update 1 hour after restarting, or when the device meets all required conditions, such as minimum battery level.
|
|
examples:
|
|
- title: Configuration example
|
|
files:
|
|
- description: This configuration enforces a software update to a specific OS version
|
|
and build at a specified time.
|
|
file: examples/declarative/declarations/configurations/softwareupdate.enforcement.specific/example1.json
|