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.8.0"),
],
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.8.0

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 — but its MLX dependency is what sets the package's iOS 17 floor for every product
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 17.0+, whichever products you link. SwiftPM applies a package's platform floor package-wide, so GlassesLocal's MLX dependency raises it for GlassesCore too. An iOS 16 target fails to resolve with "the package product 'GlassesCore' requires minimum platform version 17.0".
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.