帮助开发者掌握 DAT SDK 的 Swift 规范、命名与异步开发模式
该材料显示这是一个开源的 iOS 开发约定/文档型 Skill,未声明需要密钥或远程端点,整体风险较低。README 提到可构建测试与接入设备/相机相关 SDK 模块,但就当前材料看更像提示与规范说明,未见明确数据外发或凭证滥用红旗。
材料明确标注“无”密钥/环境变量;README 也未要求 API token、账号凭证或敏感配置,未见凭证收集、存储或滥用迹象。
未声明任何远程端点,系统检查项也表明其为 prompt-only。文档虽提到设备发现、注册、流媒体等 SDK 概念,但当前材料未表明该 Skill 自身会把用户数据发送到外部服务。
作为 prompt-only Skill,本体不表现为可执行工具。README 中出现 xcodebuild/open 等命令仅是开发说明文字,不应视为该 Skill 自动获得本机执行权限。
材料未声明读写本地文件、数据库或其他用户资源的能力;关于相机、显示、设备选择等内容是 SDK 架构说明,不足以证明该 Skill 直接访问用户数据或请求过度授权。
正面因素是 GitHub 开源、源码可审计;但仓库 star 为 0、许可证未声明、维护状态未知,且该 Skill 与仓库关系仅由材料声称,可信度与持续维护性仍需核验,因此建议留意供应链背景。
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "dat-conventions" 技能: 1. 下载 https://raw.githubusercontent.com/facebook/meta-wearables-dat-ios/main/plugins/mwdat-ios/skills/dat-conventions/SKILL.md 2. 保存为 ~/.claude/skills/dat-conventions/SKILL.md 3. 装好后重载技能,告诉我可以用了
请根据 DAT SDK iOS 开发约定,检查这段 Swift 代码的类型名、方法名、属性名是否规范,并给出修改建议与重构后的代码。
返回命名问题清单、原因说明,以及符合规范的 Swift 重构代码。
把这段基于回调的 DAT SDK iOS 调用改写成 async/await 写法,并解释错误处理、线程切换和返回类型该如何设计。
输出采用 async/await 的示例代码,并附带关键设计说明与最佳实践建议。
我在开发 DAT SDK 的 iOS 集成,请帮我设计核心 Swift 类型,包括请求模型、响应模型、错误类型和协议抽象,并说明各自职责。
给出清晰的类型设计方案、示例代码,以及每个类型在架构中的作用说明。
The SDK is organized into four modules:
async/await for all SDK operations — the SDK is fully asyncAsyncSequence / publisher .listen {} for observing streams@MainActor| Type | Convention | Example |
|---|---|---|
| Entry point | Wearables.shared | Wearables.shared.startRegistration() |
| Device sessions | *Session | DeviceSession |
| Capabilities | Named by function | Stream |
| Selectors | *DeviceSelector | AutoDeviceSelector, SpecificDeviceSelector |
| Config | *Configuration | StreamConfiguration |
| Publishers | *Publisher | statePublisher, videoFramePublisher |
import MWDATCore // Registration, devices, permissions
import MWDATCamera // Stream, VideoFrame, photo capture
import MWDATDisplay // Display, FlexBox, Text, Button, Image, Icon, VideoPlayer
For testing:
import MWDATMockDevice // MockDeviceKit, MockRaybanMeta, MockCameraKit
Wearables — SDK entry point. Call Wearables.configure() at launch, then use Wearables.sharedStream — Camera streaming session. Create with config + device selectorDisplay — Display capability attached to a started DeviceSessionVideoFrame — Individual video frame with .makeUIImage() convenienceAutoDeviceSelector — Automatically selects the best available deviceSpecificDeviceSelector — Selects a specific device by identifierStreamConfiguration — Configure video codec, resolution, frame rateMockDeviceKit — Factory for creating simulated devices in testsdo {
try Wearables.configure()
} catch {
// Handle configuration error
}
do {
try await Wearables.shared.startRegistration()
} catch {
// Handle registration error
}
# Install dependencies via Swift Package Manager
# In Xcode: File > Add Package Dependencies > enter repo URL
# Build from command line
xcodebuild -scheme MWDATCore -destination 'platform=iOS Simulator,name=iPhone 16'
# Run tests
xcodebuild test -scheme MWDATCoreTests -destination 'platform=iOS Simulator,name=iPhone 16'
For sample apps:
# Open the sample app workspace
open ExternalSampleApps/CameraAccess/CameraAccess.xcodeproj
# Build and run on simulator (uses MockDeviceKit - no glasses needed)
xcodebuild -scheme CameraAccess -destination 'platform=iOS Simulator,name=iPhone 16'
MWDATCore, MWDATCamera, MWDATDisplay when rendering Display content)try Wearables.configure()xcodebuildIf your editor supports remote MCP servers, connect https://mcp.facebook.com/wearables_dat and use search_dat_docs for current DAT setup, session lifecycle, camera streaming, MockDeviceKit, permissions, and exact API symbols.
Use llms.txt when your tool only supports static reference context.
帮助用户管理设备会话状态、暂停恢复流程与在线可用性监控。
帮助用户构建含摄像头串流与拍照功能的完整 DAT 应用示例。
连接摄像头进行视频流、抓取画面并灵活配置分辨率与帧率。
帮助你定位常见故障、兼容性问题并诊断状态机异常
帮助开发者梳理 Meta AI 应用注册与相机权限申请流程
帮助开发者完成 Meta 眼镜 SDK 安装配置并建立首次连接。
帮助开发者掌握 DAT SDK Android 的 Kotlin 约定、结果处理与会话能力规范。
指导你构建含会话创建、相机串流与拍照功能的完整 DAT 应用
提供地道 Kotlin 模式与最佳实践,帮助构建健壮高效且易维护的应用。
为 AI 编码工具补充 Swift 并发专家指导,提升安全性、性能与 Swift 6 迁移效率。
帮助 Swift 开发者用协议依赖注入编写可测试代码并高效构建 Mock。
帮助开发者掌握 SwiftUI 架构模式、状态管理与性能优化实践