SuperAPI AI 工具集

dat-conventions

编程与开发

查看项目

更新于 11-08 17:06

技能介绍

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(测试中创建模拟设备的工厂)。

使用方式

  1. 通过 Swift Package Manager(SPM)在 Xcode 中添加 SDK。
  2. 按需导入模块:MWDATCore、MWDATCamera、MWDATDisplay(渲染显示内容时),测试时导入 MWDATMockDevice。
  3. 应用启动时调用 try Wearables.configure() 进行配置。
  4. 使用 Xcode 或 xcodebuild 构建。
  5. 使用 MockDeviceKit 进行测试,无需物理眼镜。
  6. 通过 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 的使用需编辑器或工具支持。