DAT SDK Conventions(iOS)是 Meta Wearables DAT SDK(iOS 版)的开发规范文档,旨在指导开发者使用 Swift 语言进行 iOS 应用开发时遵循统一的架构模式、编码习惯和 API 使用方式。以下从用途、主要能力、使用方式、适用场景和限制几方面展开介绍。
用途 该规范用于帮助开发者理解 DAT SDK 的模块组织、Swift 异步编程模式、命名约定以及关键类型,从而更高效地集成 Meta Wearables 设备(如智能眼镜)的功能,包括设备发现、注册、权限管理、摄像头流、显示能力等。
主要能力 SDK 按功能划分为多个模块:
- MWDATCore:设备发现、注册、权限、设备选择器、DeviceSession。
- MWDATCamera:摄像头、流、视频帧、拍照。
- MWDATDisplay:显示能力、显示 UI 组件(图标、图片、按钮、视频)。
- MWDATMockDevice:MockDeviceKit,用于无硬件测试。
- MWDATMockDeviceTestClient:MockDeviceTestClient,用于通过 HTTP 从 UI 测试进程驱动 MockDeviceKit。
Swift 编程模式方面,规范要求:所有 SDK 操作使用 async/await;使用 AsyncSequence 或 publisher 的 .listen {} 观察流;UI 更新代码标注 @MainActor;禁止在主线程阻塞帧处理;使用 do/catch 处理 SDK 抛出的类型化错误。
命名约定明确了各类元素的命名方式,例如入口点 Wearables.shared、设备会话 *Session、能力按功能命名、选择器 *DeviceSelector、配置 *Configuration、发布者 *Publisher。
关键类型包括:Wearables(SDK 入口点,启动时调用 Wearables.configure(),之后使用 Wearables.shared)、DeviceSession(通过 createSession(deviceSelector:) 创建并附加能力)、Camera(通过 session.addCamera(config:) 添加,拥有 camera.stream)、Stream(start()、stop()、capturePhoto(format:) 及发布者)、Display(通过 session.addDisplay() 添加)、VideoFrame(提供 .makeUIImage() 和 .sampleBuffer)、Device/DeviceIdentifier(DeviceIdentifier 为 String,通过 deviceForIdentifier(_:) 解析)、AutoDeviceSelector(自动选择最佳设备,可过滤)、SpecificDeviceSelector(按标识选择设备)、StreamConfiguration(配置视频编解码、分辨率、帧率)、ListenerTokenBag/AnyListenerToken(保持订阅存活,丢弃令牌即取消)、MockDeviceKit(测试中创建模拟设备的工厂)。
使用方式
- 通过 Swift Package Manager(SPM)在 Xcode 中添加 SDK。
- 按需导入模块:MWDATCore、MWDATCamera、MWDATDisplay(渲染显示内容时),测试时导入 MWDATMockDevice。
- 应用启动时调用 try Wearables.configure() 进行配置。
- 使用 Xcode 或 xcodebuild 构建。
- 使用 MockDeviceKit 进行测试,无需物理眼镜。
- 通过 Xcode 控制台查看 SDK 日志进行调试。
构建与测试命令示例:
- 构建:xcodebuild -scheme MWDATCore -destination 'platform=iOS Simulator,name=iPhone 16'
- 测试:xcodebuild test -scheme MWDATCoreTests -destination 'platform=iOS Simulator,name=iPhone 16'
- 打开示例应用工作区:open ExternalSampleApps/CameraAccess/CameraAccess.xcodeproj
- 构建并运行示例应用:xcodebuild -scheme CameraAccess -destination 'platform=iOS Simulator,name=iPhone 16'
错误处理示例:使用 do/catch 包裹 try Wearables.configure() 和 try await Wearables.shared.startRegistration()。
实时文档搜索:如果编辑器支持远程 MCP 服务器,可连接 https://mcp.developer.meta.com/wearables 并使用 search_dat_docs 查询最新的 DAT 设置、会话生命周期、摄像头流、MockDeviceKit、权限及确切 API 符号。该公开文档服务器无需认证,不要配置令牌、OAuth 或自定义授权头。对于仅支持静态参考上下文的工具,可使用 llms.txt。
适用场景 适用于使用 DAT SDK 开发 iOS 应用的开发者,特别是需要集成 Meta Wearables 设备功能(如摄像头流、显示组件、设备注册与权限管理)的项目。规范有助于团队统一代码风格、减少错误,并利用 MockDeviceKit 在无硬件条件下进行开发和测试。
限制 文档仅提供开发规范,不涉及具体收费、价格或平台兼容性细节;实际功能取决于 SDK 版本和设备支持。构建和测试命令基于 Xcode 和 iOS 模拟器,其他环境暂未提供。MCP 服务器和 llms.txt 的使用需编辑器或工具支持。