docs/reference/device-models.md
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/:
| File | Purpose |
|---|---|
ios-device-identifiers.json | iOS/iPadOS identifier -> name mapping |
mac-device-identifiers.json | Mac identifier -> name mapping |
NOTICE.md | Pinned upstream commit SHAs |
LICENSE.apple-device-identifiers.txt | Upstream MIT license |
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.
apps/macos/Sources/OpenClaw/Resources/DeviceModels/NOTICE.md with the new SHAs.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
LICENSE.apple-device-identifiers.txt still matches upstream; replace it if the upstream license changed.swift build --package-path apps/macos