SuperAPI AI 工具集

getting-started

编程与开发

查看项目

更新于 11-08 17:06

技能介绍

本页是 Meta Wearables Device Access Toolkit(DAT)在 iOS 上的入门教程,目标是指导开发者在 iOS 应用中完成 SDK 的环境准备、集成、权限配置与首次连接 Meta 眼镜。

【用途】 用于把 Meta Wearables DAT SDK 接入 iOS 应用,为后续的相机流式传输、权限处理与设备会话管理奠定基础。页面同时列出了继续阅读的后续主题:相机流式传输(分辨率、帧率、拍照)、使用 MockDeviceKit 无硬件测试、会话生命周期(暂停/恢复/停止)以及相机权限流程。

【前提条件】

  • 开发环境需 Xcode 26.4+、Swift 6.3+,部署目标 iOS 17.2+,与公开的 CameraAccess 和 DisplayAccess 示例应用一致。
  • 测试设备需安装 Meta AI 伴侣应用。
  • 需要 Ray-Ban Meta 眼镜或 Meta Ray-Ban Display 眼镜,开发阶段也可使用 MockDeviceKit 替代硬件。
  • 需在 Meta AI 应用中开启开发者模式(Settings > Your glasses > Developer Mode)。

【使用方式】 步骤 1:通过 Swift Package Manager 添加 SDK。在 Xcode 中选择 File > Add Package Dependencies...,输入 https://github.com/facebook/meta-wearables-dat-ios,选择版本,并将 MWDATCore 与 MWDATCamera 添加到目标。

步骤 2:配置 Info.plist。需添加 URL Scheme(CFBundleURLTypes,示例值为 myexampleapp,需替换为自己的 scheme)、MWDAT 字典(AppLinkURLScheme、MetaAppID、ClientToken、TeamID)、后台模式(processing、bluetooth-central、bluetooth-peripheral、external-accessory)、UISupportedExternalAccessoryProtocols(com.meta.ar.wearable)、NSBluetoothAlwaysUsageDescription、NSLocalNetworkUsageDescription 与 NSBonjourServices(_bonjour._tcp)。页面说明 SDK 会通过多种链路传输数据,并会在使用每种链路前检查 Info.plist,因此需全部声明:蓝牙 LE 需要 bluetooth-central 与 bluetooth-peripheral 后台模式及蓝牙用途说明;蓝牙经典(相机流式传输使用)需要 external-accessory 后台模式与 com.meta.ar.wearable 协议;Wi-Fi(高带宽)需要非空的本地网络用途说明和 Bonjour 服务声明。只有在录制眼镜麦克风音频时才需添加音频后台模式与 NSMicrophoneUsageDescription。AppLinkURLScheme 需与应用 URL scheme 保持一致,SDK 会将该 scheme 发送给 Meta AI 以便回调应用。在开发者模式下,MetaAppID 可留空、设为 0 或保留未展开的 $(META_APP_ID) 占位符,SDK 会把这三种情况视为“无 app ID”并跳过 attestation;生产环境需在 Wearables Developer Center 设置 MetaAppID 与 ClientToken,并把 TeamID 设为 Apple Developer Team ID。

步骤 3:初始化 SDK。在应用启动时调用一次 Wearables.configure(),页面给出了 SwiftUI App 中的示例代码。

步骤 4:处理 URL 回调。应用需处理注册与权限流程后 Meta AI 发起的 URL 回调;示例应用会先过滤 query item metaWearablesAction,避免无关深链传入 SDK,再调用 Wearables.shared.handleUrl(url),失败时会抛出 WearablesHandleURLError。

步骤 5:向 Meta AI 注册。调用 Wearables.shared.startRegistration(),并通过 registrationStateStream() 监听注册状态以更新界面。

步骤 6:开始流式传输。使用 AutoDeviceSelector 创建设备会话并 start(),等待会话状态变为 started;随后以 StreamConfiguration(示例为 raw 编码、低分辨率、24 帧)添加相机,通过 stream.videoFramePublisher.listen 获取帧并转换为 UIImage,最后调用 stream.start() 启动流能力。

【限制与说明】 页面未提及收费、价格或平台支持范围之外的信息;硬件相关能力需实际眼镜或 MockDeviceKit 验证。生产环境的凭据配置依赖 Wearables Developer Center 与 Apple 开发者团队信息,页面未展开具体申请流程。