Skip to main content
The macOS companion app’s Instances UI maps Apple model identifiers to friendly names (iPad16,6 -> “iPad Pro 13-inch (M4)”, Mac16,6 -> “MacBook Pro (14-inch, 2024)”). DeviceModelCatalog also uses the identifier prefix (falling back to device family) to pick an SF Symbol per device. Files in apps/macos/Sources/OpenClaw/Resources/DeviceModels/:
FilePurpose
ios-device-identifiers.jsoniOS/iPadOS identifier -> name mapping
mac-device-identifiers.jsonMac identifier -> name mapping
NOTICE.mdPinned upstream commit SHAs
LICENSE.apple-device-identifiers.txtUpstream MIT license

Data source

Vendored from the MIT-licensed kyle-seongwoo-jun/apple-device-identifiers GitHub repository. JSON files are pinned to commit SHAs recorded in NOTICE.md to keep builds deterministic.

Updating the database

  1. Pick the upstream commit SHAs to pin to (one for iOS, one for macOS).
  2. Update apps/macos/Sources/OpenClaw/Resources/DeviceModels/NOTICE.md with the new SHAs.
  3. Re-download the JSON files pinned to those commits:
IOS_COMMIT="<commit sha for ios-device-identifiers.json>"
MAC_COMMIT="<commit sha for mac-device-identifiers.json>"

curl -fsSL "https://raw.githubusercontent.com/kyle-seongwoo-jun/apple-device-identifiers/${IOS_COMMIT}/ios-device-identifiers.json" \
  -o apps/macos/Sources/OpenClaw/Resources/DeviceModels/ios-device-identifiers.json

curl -fsSL "https://raw.githubusercontent.com/kyle-seongwoo-jun/apple-device-identifiers/${MAC_COMMIT}/mac-device-identifiers.json" \
  -o apps/macos/Sources/OpenClaw/Resources/DeviceModels/mac-device-identifiers.json
  1. Confirm LICENSE.apple-device-identifiers.txt still matches upstream; replace it if the upstream license changed.
  2. Verify the macOS app builds cleanly:
swift build --package-path apps/macos