用途:在 iOS 上使用 MockDeviceKit 模拟 Meta 眼镜行为,无需实体硬件即可测试 DAT SDK 集成。
主要能力:MockDeviceKit.shared 是创建模拟设备的入口;pairGlasses(model:) 创建 MockGlasses;设备服务包含相机、captouch、display 三类。MockCameraKit 可配置视频流与拍照,MockCaptouchKit 可模拟 tap() 与 tapAndHold(),MockDisplayKit 可模拟 MWDATDisplay 内容显示,MockPermissions 可在不依赖 Meta AI 应用的情况下控制权限结果。支持的模型枚举有 .rayBanMeta、.oakleyMetaHSTN、.oakleyMetaVanguard、.rayBanMetaOptics、.metaGlasses、.metaRayBanDisplay,需要显示能力时使用 .metaRayBanDisplay。
使用方式:通过 Swift Package Manager 将 MWDATMockDevice 添加到目标(属于 meta-wearables-dat-ios 包),import MWDATMockDevice。调用 MockDeviceKit.shared.enable() 启用,默认处于已注册且权限已授予状态;传入 MockDeviceKitConfig 可测试注册或权限流程。用 pairGlasses(model:) 配对设备,pairedDevices、unpairDevice(_:)、disable() 用于拆除。可调用 powerOn()、unfold()、don()、doff()、fold()、powerOff() 模拟生命周期,用 setBatteryLevel、setChargingState、setThermalLevel 设置电量、充电与热状态。相机可 setCameraFeed(fileURL:) 指定视频文件,或用 cameraFacing: .back/.front 直接使用手机摄像头,setCapturedImage(fileURL:) 设置拍照图片。权限默认 requestPermission() 返回 .granted,可用 permissions.set(.camera, .denied) 与 setRequestResult 控制结果。
适用场景:为 CameraAccess 等示例编写 XCTest 测试时,可建立 MockDeviceKitTestCase 基类,在 setUp 中启用 MockDeviceKit 并配对设备。注意设备需先 powerOn() 且 unfold() 才会出现在 Wearables.shared.devicesStream() 中,应等待设备可用状态再调用 createSession(deviceSelector:)。支持的媒体格式:视频为 h.265 (HEVC)(示例附带 .mp4 文件),图片为 JPEG、PNG。
限制:资料未提供收费、价格、平台范围之外的信息;具体 API 行为与可用性以官方文档为准,暂未提供更多限制说明。