InstaVision iOS SDK

IVSDK is the Swift framework behind the InstaVision app. Drop it into your own iOS app and you get the same camera platform — accounts, Bluetooth pairing, WebRTC live view, SD-card playback, the event feed and professional monitoring — without writing a line of networking or signalling code.

One SDK covers every InstaVision product line. The platform APIs are shared; each product adds the features its cameras have:

   
Home Security Professional monitoring, siren and lights, doorbell, face recognition
Baby Nursery monitor: cry, temperature and humidity alerts, lullaby player, growth and care logs
Pet Pet profiles, recognition, activity insights
Bird Feeder camera with species identification
Trail Outdoor wildlife camera: hunting mode, GPS, timelapse, cellular data

Read the platform pages once; then read the section for the product you are building.

Requirements

   
Platform iOS 15.5+
Language Swift 5.9+
Distribution CocoaPods
Import import IVSDK

Get started InstaSDK reference


What the SDK does

Accounts and access. Email/password, Sign in with Apple and Google Sign-In. Tokens are stored in the keychain and refreshed transparently. An app that authenticates users elsewhere can hand the SDK a token instead.

Spaces. A space is a home or site. It owns cameras, members and events, and every other API is scoped to one. Spaces can be shared with other users, per camera and per role.

Cameras. Pair a new camera over BLE, then read and write its settings — detection sensitivity, schedules, night vision, activity zones, privacy mode, PTZ, firmware, SD card.

Live video. WebRTC live view and SD-card playback, with two-way audio and video calling, snapshots, recording, and a manual siren.

Events. A searchable feed of what the cameras detected, with AI classification, filtering, paging and cross-device delete sync.

Professional monitoring. Arm and disarm a security profile, handle alarms within a dismissal window, manage responding parties, and read the security audit log.

Products. Everything above is shared by all five product lines; the product-specific features are listed at the top of this page and documented under Products in the sidebar.


How it fits together

InstaSDK.shared.configure(_:partnerId:region:environment:)
        │
        ├── Factory.userService ────── sign in, profile, push tokens
        │
        └── after sign-in
             │
             ├── Factory.spaceService ──── spaces, events, pairing sessions
             │        │
             │        └── spaceId ───────► every other call
             │
             ├── Factory.deviceService ─── settings, firmware, PTZ, SD card
             ├── Factory.subscriptionService
             ├── Factory.proMonitoringService
             ├── Factory.faceService / babyService / petService   (product features)
             │
             ├── BLEManager.instance ───── pair a new camera
             └── LiveViewObjectStore ───── live view and playback

Two ideas carry across the whole API:

Everything is reached through Factory. Services are protocol-typed singletons; you never construct one — Factory.userService, Factory.deviceService, and so on.

Everything returns IVPublisher<T>. A Combine publisher that never fails — errors arrive as ResourceState.error values, so one exhaustive switch handles loading, success and failure.

Factory.spaceService.spaces()
    .receive(on: DispatchQueue.main)
    .sink { state in
        switch state {
        case .loading:            showSpinner()
        case let .success(spaces): render(spaces)
        case let .error(error):    showAlert(error.localizedDescription)
        }
    }
    .store(in: &cancellables)

Where to go next

If you want to… Start at
Install and configure the SDK Getting Started
Look up InstaSDK itself InstaSDK
Sign a user in Accounts & Users
Pair a camera Pairing a Camera
Show live video Live View
Play back from the SD card SD Card Playback
List and filter events Events
Build for one product line Home Security · Baby · Pet · Bird · Trail
See what changed Change Log
Look up an enum or query key Types Reference · Cluster Catalogue
Check reachability or the App Store version System & Diagnostics
See what still needs review Documentation Gaps