RPC and API
Device model database
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 |
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
- Pick the upstream commit SHAs to pin to (one for iOS, one for macOS).
- Update
apps/macos/Sources/OpenClaw/Resources/DeviceModels/NOTICE.mdwith the new SHAs. - 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- Confirm
LICENSE.apple-device-identifiers.txtstill matches upstream; replace it if the upstream license changed. - Verify the macOS app builds cleanly:
swift build --package-path apps/macosRelated
Was this useful?