permissions-registration

App registration with Meta AI, camera permission flows

npx skills add https://github.com/facebook/meta-wearables-dat-ios --skill permissions-registration

Permissions & Registration (iOS)

Register your app with Meta AI, then request the device permissions it needs.

The DAT SDK separates two concepts:

  1. Registration — Your app registers with Meta AI to become a permitted integration
  2. Device permissions — After registration, request specific device permissions (e.g., camera)

All permission grants occur through the Meta AI companion app.

Registration flow

Start registration

func startRegistration() async throws {
    try await Wearables.shared.startRegistration()
}

This opens the Meta AI app where the user approves your app. Meta AI then calls back via your URL scheme.

Handle the callback

.onOpenURL { url in
    Task {
        _ = try? await Wearables.shared.handleUrl(url)
    }
}

Observe registration state

Task {
    for await state in Wearables.shared.registrationStateStream() {
        switch state {
        case .registered:
            // App is registered, can request permissions
        case .unavailable:
            // Registration is unavailable
        case .available:
            // Ready to register
        case .registering:
            // Registration in progress
        }
    }
}

Unregister

func startUnregistration() async throws {
    try await Wearables.shared.startUnregistration()
}

Camera permissions

Check permission status

let status = try await Wearables.shared.checkPermissionStatus(.camera)

Request permission

let status = try await Wearables.shared.requestPermission(.camera)

The SDK opens Meta AI for the user to grant access. Users can choose:

  • Allow once — temporary, single-session grant
  • Allow always — persistent grant

Multi-device behavior

Users can link multiple glasses to Meta AI. The SDK handles this transparently:

  • Permission granted on any linked device means your app has access
  • You don't need to track which device has permissions
  • If all devices disconnect, permissions become unavailable

Developer Mode vs Production

ModeRegistration behavior
Developer ModeRegistration always allowed (use MetaAppID = 0)
ProductionUsers must be in proper release channel

For production, get your APPLICATION_ID from the Wearables Developer Center.

Prerequisites

  • Registration requires an internet connection
  • Meta AI companion app must be installed
  • For Developer Mode: enable in Meta AI > Settings > Your glasses > Developer Mode

Links

Больше skills от facebook

api-health
facebook
Мониторинг состояния API для приложения Meta — проверка лимитов запросов, объема вызовов и устаревания API. Используется для диагностики троттлинга, планирования мощности или подготовки к смене версии API…
official
api-integration
facebook
Провести разработчика через настройку интеграции Meta API с нуля — подобрать нужные API, найти руководства по настройке, требования к аутентификации,…
official
app-review-prep
facebook
Prepare a Meta app for App Review — checks current status, outstanding requirements, granted privileges, and submission history. Use before submitting an app…
official
debug-webhooks
facebook
Устранение неполадок с вебхуками для приложения Meta — проверка активных подписок, выявление ошибок конфигурации и отправка тестовых payload для проверки доставки. Используйте, когда…
official
webhook-setup
facebook
Настройте вебхуки для приложения Meta полностью — узнайте доступные темы, подпишитесь на поля и проверьте с помощью тестового payload. Используйте при настройке вебхуков для…
official
buck2-rule-basics
facebook
Помогите пользователям написать их первое правило Buck2, чтобы изучить фундаментальные концепции, включая правила, действия, цели, конфигурации, анализ и select(). Используйте…
official
add-ir-instruction
facebook
Guide for adding a new IR instruction to the Hermes compiler. Use when the user asks to add, create, or define a new IR instruction (Inst/Instruction) in the…
official
binary-size-analysis
facebook
Этот навык следует использовать, когда пользователь хочет проанализировать изменения размера бинарного файла hermesvm в диапазоне коммитов. Используйте, когда пользователь упоминает «binary size»,…
official