SDKiOS

Install (iOS)

Add the Extentos iOS SDK with Swift Package Manager from github.com/extentos/swift-glasses — Xcode, Package.swift, or xcodegen.

The Extentos iOS SDK is distributed as a Swift package from github.com/extentos/swift-glasses. The current version is 2.0.0 — the Android and iOS SDKs version in lockstep on the same shared core.

Add the package

XcodeFile → Add Package Dependencies…, paste https://github.com/extentos/swift-glasses, and set the dependency rule to Up to Next Major Version starting at 2.0.0.

Package.swift:

dependencies: [
    .package(url: "https://github.com/extentos/swift-glasses", from: "2.1.2"),
],
targets: [
    .target(
        name: "MyApp",
        dependencies: [
            .product(name: "GlassesCore", package: "swift-glasses"),
            .product(name: "GlassesUI", package: "swift-glasses"),
        ]
    ),
]

xcodegen (project.yml):

packages:
  Extentos:
    url: https://github.com/extentos/swift-glasses
    from: 2.1.2

Then link the products your target uses:

ProductWhat it is
GlassesCoreThe SDK — connection, camera, audio, voice, assistant, toggles, telemetry
GlassesUIThe drop-in SwiftUI connection page (ExtentosConnectionPage) and theming
GlassesLocalOn-device text models for the local tier. Optional; raises the package's deployment floor to iOS 17
GlassesLocalVoiceOn-device speech (Kokoro) for the local tier. Optional
GlassesDebugScaffolding today — the debug-console API surface is reserved; the current panel is a placeholder
GlassesLifecycleScaffolding today — the extentosListening scene-phase modifier is a passthrough; API surface reserved
GlassesTestingScaffolding today — FakeExtentosGlasses doesn't implement the sub-clients yet; stub the protocols yourself for unit tests

The compiled Rust core (extentos_coreFFI.xcframework) is a binary target that SPM resolves automatically from the GitHub Release by URL and checksum — device arm64, a universal arm64/x86_64 simulator slice, and macOS arm64. There is nothing to download or verify by hand.

Agent-driven install

The agent-driven flow remains the fastest path: install @extentos/mcp-server in your AI coding agent and ask it to add smart-glasses capabilities to your iOS app — generateConnectionModule(platform: "ios") emits the bootstrap, the Info.plist keys, and the ExtentosConnectionPage placement. The scaffold's dependency step emits the published package coordinates above.

Requirements

RequirementValue
Deployment targetiOS 16.0+ — but iOS 17.0+ if you link GlassesLocal (the local tier's floor). Pick 17 up front if on-device models are anywhere in your plan; raising it later is an app-wide change.
Swift toolchainSwift 6 (swift-tools-version: 6.0)
Language modeSwift 5 (.swiftLanguageMode(.v5) on GlassesCore)
Meta DAT (iOS)meta-wearables-dat-ios from 0.8.0 (resolved transitively). Unlike Android, iOS does not split the vendor SDK into a separate product — DAT is a dependency of GlassesCore on every iOS app. A voice app links it but never initializes it, so it still needs no Meta account, no credentials, and none of the DAT Info.plist keys.

After install, continue with the Info.plist setup and initialization — or follow the iOS quickstart end to end.