设备管理
iClick 提供了完善的设备管理接口,让你可以获取、管理和控制连接的 iOS 设备。
设备连接流程
iOS 设备 → Lightning 数据线 → USB Hub → iClick 硬件 → 电脑
↓
WebSocket API 调用核心概念
设备 ID
每个连接的设备都有一个唯一的 设备 ID,用于标识和操作该设备。
javascript
// 设备 ID 示例
"P72578581E07"设备状态
设备有两种关键状态:
| 状态 | 字段 | 说明 |
|---|---|---|
| 在线状态 | - | 设备出现在设备列表中 |
| USB 状态 | plugged | USB 硬件是否就绪,只有为 true 才能执行操作 |
可用接口
查询操作
| 接口 | 说明 | 文档 |
|---|---|---|
getDevices | 获取所有设备列表及详细信息 | 查看文档 |
管理操作
| 接口 | 说明 | 状态 |
|---|---|---|
renameDevice | 修改设备名称 | 📝 待完善 |
removeDevice | 移除设备 | 📝 待完善 |
快速开始
获取设备列表
javascript
// 获取所有设备
const devices = await apiInvoke('getDevices');
// 遍历设备
for (const deviceId in devices) {
const device = devices[deviceId];
console.log(`设备: ${device.info.deviceName}`);
console.log(` ID: ${deviceId}`);
console.log(` 分辨率: ${device.info.screenWidth}x${device.info.screenHeight}`);
console.log(` 状态: ${device.plugged ? '就绪' : '未就绪'}`);
}选择可用设备
javascript
// 获取第一个可用设备
async function getFirstDevice() {
const devices = await apiInvoke('getDevices');
for (const deviceId in devices) {
if (devices[deviceId].plugged) {
return deviceId;
}
}
throw new Error('没有可用的设备');
}
// 使用
const deviceId = await getFirstDevice();
console.log('选择的设备:', deviceId);设备信息字段
info 对象
每个设备的 info 对象包含以下字段:
javascript
{
deviceName: "我的 iPhone", // 设备名称
deviceIdentifier: "iPhone15,2", // 设备型号标识
deviceChip: "COM3", // USB 芯片 ID
screenWidth: 1179, // 屏幕宽度
screenHeight: 2556, // 屏幕高度
orientation: 1, // 方向 (1=竖屏, 2=横屏)
screenScale: 3.0, // 屏幕缩放比例
deviceVersion: "17.0", // iOS 版本
deviceRounded: true // 是否圆角屏
}常见问题
❓ 设备列表为空怎么办?
检查:
- ✅ iOS 设备是否已连接到 iClick 硬件
- ✅ iClick 硬件是否连接到电脑
- ✅ 设备是否已在 iClick 应用中显示
- ✅ 网络连接是否正常
❓ plugged 为 false 是什么意思?
表示设备在线(通过网络连接),但 USB 硬件未就绪。可能原因:
- USB 线缆未插好
- iClick 硬件未启动
- USB Hub 供电不足
❓ 如何区分不同型号的设备?
通过 deviceIdentifier 字段区分,不同型号有不同的标识符(如 iPhone15,2 表示 iPhone 14 Pro)。
❓ 屏幕信息什么时候会变化?
- 设备横竖屏切换时,
screenWidth和screenHeight会交换 orientation值会改变(1=竖屏,2=横屏)