Skip to content

iOS SDK (preview)

Private preview

The Havik iOS SDK (Swift package HavikPlayer) is built and playing FairPlay-protected live streams on device today. Distribution is currently a private preview: there is no public package URL and no App Store listing yet. Ask us for access.

The iOS SDK is a native port of the JavaScript SDK. It has the same streams, the same play sequence, and the same event and error vocabulary. AVPlayer plays LL-HLS natively, so there is one engine and no browser matrix.

What you get

CapabilityiOS
PlaybackLL-HLS over AVPlayer (native, no third-party engine)
DRMFairPlay via AVContentKeySession — certificate, key requests, and license refresh handled for you
AuthAttested sessions (Apple App Attest) — no long-lived key in requests
Integration modesManaged player (HavikPlayer + HavikPlayerView) and bring-your-own-player
Events & errorsThe same state machine and typed error taxonomy as the web SDK
Live pickupArm on an upcoming match; attaches when the stream goes live

There is no iframe embed mode on iOS; apps use the managed player or BYOP. The full surface is documented in the iOS API reference.

Requirements

  • iOS 15 or later.
  • A physical device for DRM work, because FairPlay does not run in the Simulator.
  • The same onboarding as the web SDK: a publishable api-key provisioned for your app. See getting started.

Parity with the web SDK

Web (@oddin-gg/havik-player)iOS (HavikPlayer)
Managed player
Bring your own player
Iframe embed— (not applicable)
DRMWidevine + FairPlayFairPlay
Typed events / stats
QoE analytics beaconson the roadmap

Demo app

A SwiftUI demo app ships with the SDK and is headed for TestFlight and the App Store:

Havik app icon (iOS)Havik Player DemoiOS · App StoreComing soon

Want early access? havik-support@oddin.gg

Get access

Email havik-support@oddin.gg with your bundle id and the domains/apps already on your key. Building for Android too? See the Android SDK.

ISC licensed. Bundles hls.js (Apache-2.0).