Skip to main content
The Daily Client SDK for iOS is a native Swift library built on WebRTC. It handles media negotiation, network traversal, and participant management so you can focus on building your UI.

Quickstart

Build a working video call app step by step

Screen sharing

Add screen share to your iOS app

API reference

Full Swift API docs

Hello, world

Add the SDK via Swift Package Manager (https://github.com/daily-co/daily-client-ios.git), then join a call:

API structure

The SDK is organized around the tasks involved in building a call. For each task you get properties/methods to update state, properties to get current state, and delegate callbacks via CallClientDelegate to react to changes.

Call lifecycle

join(), leave(), callState, callClient(_:callStateUpdated:)

Participants

participants(), participantJoined, participantUpdated, participantLeft

Media inputs

updateInputs(), setInputEnabled(), callClient(_:inputsUpdated:)

Publishing

updatePublishing(), setIsPublishing(), callClient(_:publishingUpdated:)

Subscriptions

updateSubscriptions(), updateSubscriptionProfiles(), setSubscriptionState()

Active speaker

activeSpeaker, callClient(_:activeSpeakerChanged:)

Resources

Demo app

A complete working example on GitHub

Starter kit

Production-ready boilerplate from Daily’s engineering team

Requirements

  • iOS deployment target >= 13.0
  • Xcode 13 or later