Vizbl

Quick Start

Fastest path to a working SDK integration.

iOS Quick Start

This guide shows the fastest path from an Xcode project to a minimal Vizbl AR scene.

Before you start

You need:

  • Xcode.
  • A physical iOS device.
  • iOS 18+ for VizblKit.
  • Camera permission in the app.
  • A Vizbl object tinuuid from connection.vizbl.com.

1. Add the Swift Package

In Xcode:

  1. Open File -> Add Package Dependencies.
  2. Enter the package URL.
https://github.com/VIZBL/vizbl-ios-sdk
  1. Select a version rule, for example Up to Next Major.
  2. Add the VizblKit product to your app target.

2. Import the SDK

import VizblKit

3. Add camera permission text

If your app does not already include camera usage text, add NSCameraUsageDescription to Info.plist.

<key>NSCameraUsageDescription</key>
<string>This app uses the camera to place products in augmented reality.</string>

4. Add your object tinuuid

Open your object in connection.vizbl.com and copy its tinuuid.

Replace your-tinuuid in the example below with that value before running the app. The SDK needs a real tinuuid to load your object.

5. Create a minimal AR scene

Create an AR controller (ARViewController), present the AR scene (ARView), and add an object by tinuuid.

import SwiftUI
import VizblKit

struct ContentView: View {
    @StateObject private var controller = ARViewController(configuration: .default)

    var body: some View {
        ARView(controller: controller)
            .onAppear {
                Task {
                    try? await controller.add(tinuuid: "your-tinuuid", hid: nil)
                }
            }
    }
}

6. Run on a device

Build the app and run it on a physical iOS device. When the AR scene opens, the SDK starts the AR flow and guides the user through placement.

Demo project

A working iOS demo project is available on GitHub:

https://github.com/VIZBL/vizbl-ios-demo

Next steps

  • Pass Material ID (hid) when you want to open a specific material.
  • Add custom AR controls when your app needs product actions inside AR.
  • Use controller methods such as remove(id:), removeAll(), or replace(...) when your app needs object management controls.