Skip to main content
Swift Package Manager is the recommended way to install the LiveKit Swift SDK. It supports all platforms including iOS, macOS, visionOS, tvOS, and Mac Catalyst.

Using Package.swift

Add the LiveKit dependency to your Package.swift file:
Package.swift
let package = Package(
  // ... other configuration
  dependencies: [
    .package(
      name: "LiveKit", 
      url: "https://github.com/livekit/client-sdk-swift.git", 
      .upToNextMajor(from: "2.12.1")
    ),
  ],
  targets: [
    .target(
      name: "MyApp",
      dependencies: ["LiveKit"]
    )
  ]
)

Using Xcode

To add LiveKit to your Xcode project:
1

Open Package Dependencies

In Xcode, go to File → Add Package Dependencies
2

Enter the repository URL

Paste the following URL:
https://github.com/livekit/client-sdk-swift
3

Select version rule

Choose “Up to Next Major Version” and enter 2.12.1 (or the latest version)
4

Add to target

Select your app target and click “Add Package”
The SDK requires the following minimum versions:
  • iOS 13.0+
  • macOS 10.15+
  • Mac Catalyst 14.0+
  • tvOS 17.0+
  • Swift 5.9+

CocoaPods (Deprecated)

CocoaPods support is deprecated. The main CocoaPods trunk repo as well as LiveKit podspecs repo will become read-only and stop receiving updates starting in 2027.It is strongly recommended to migrate to Swift Package Manager to ensure access to the latest features and security updates.

Platform Limitations

CocoaPods only supports iOS and macOS. For visionOS or tvOS, you must use Swift Package Manager.

Podfile Configuration

If you need to use CocoaPods temporarily, add the LiveKit podspec source to your Podfile:
Podfile
source "https://cdn.cocoapods.org/"
source "https://github.com/livekit/podspecs.git" # Required for LiveKit

platform :ios, "13.0"

target "YourApp" do
    pod "LiveKitClient", "~> 2.2.0"
    
    # Other dependencies...
end
The LiveKit podspec source is necessary because some dependencies no longer officially support CocoaPods.
Then install the dependencies:
pod install

Verifying Installation

After installing the SDK, verify it works by importing LiveKit in your Swift code:
import LiveKit

// Create a Room instance
let room = Room()
print("LiveKit SDK version: \(LiveKitSDK.version)")
If the import succeeds and you can create a Room instance, the SDK is installed correctly.

Project Configuration

Required Capabilities

Depending on which features you use, you may need to enable certain capabilities:

Camera and Microphone Access

Add the following keys to your Info.plist:
Info.plist
<key>NSCameraUsageDescription</key>
<string>This app needs camera access to enable video calls</string>
<key>NSMicrophoneUsageDescription</key>
<string>This app needs microphone access to enable audio calls</string>

Background Audio (iOS)

To continue audio playback when the app is in the background:
1

Enable background modes

In Xcode, go to your target’s Signing & Capabilities tab
2

Add Background Modes capability

Click + Capability and add Background Modes
3

Enable Audio mode

Check Audio, AirPlay, and Picture in Picture

Screen Sharing (iOS)

For iOS screen sharing, you’ll need to create a Broadcast Upload Extension. See the iOS Screen Sharing guide for detailed instructions.

macOS Specific: ReplayKit Framework

If your macOS app targets macOS Catalina (10.15), you need to configure ReplayKit to avoid crashes.
1

Open Build Phases

In Xcode, select your macOS target and go to Build Phases
2

Link ReplayKit

In Link Binary with Libraries, add ReplayKit.framework
3

Mark as Optional

Change the framework from Required to Optional
This is not required if you’re targeting macOS 11.0 or later.

Dependencies

The LiveKit Swift SDK depends on the following packages:
  • LiveKitWebRTC - WebRTC framework for real-time communications
  • LiveKitUniFFI - FFI bindings for LiveKit native code
  • SwiftProtobuf - Protocol Buffers for Swift
  • swift-collections - Additional Swift collection types
These are automatically installed when you add the LiveKit package.

App Store Submission

DSYM Warning

When submitting to the App Store, you may see this warning:
The archive did not include a dSYM for the LiveKitWebRTC.framework with the UUIDs [...]
This warning will not prevent your app from being submitted or passing App Store review. The LiveKitWebRTC.xcframework binary does not include DSYMs by design.
If you’re building a custom version of LiveKitWebRTC and need DSYMs, you can generate them locally using the build script in DEBUG mode.

Next Steps

Now that you’ve installed the SDK, you’re ready to build your first LiveKit app!

Quick Start

Build a working video call in minutes

API Reference

Explore the complete API documentation

Build docs developers (and LLMs) love