Skip to content

stasel/WebRTC

Repository files navigation

WebRTC Binaries for iOS and macOS

Latest version Release Date Total Downloads Cocoapods

This repository contains unofficial distribution of WebRTC framework binaries for iOS and macOS.

Since version M80, Google has deprecated their mobile binary libraries distributions (Was officially using the GoogleWebRTC pod). To get the most up to date WebRTC library, you can compile it on your own, or you can use precompiled binaries from here or other sources.

📦 Releases

The binary releases correspond with official Chromium releases and branches as specified in the Chromium dashboard.

💡 Things to know

  • All binaries in this repository are compiled from the official WebRTC source code without any modifications to the source code or to the output binaries.
  • Dynamic framework (xcframework format) which contains multiple binaries for macOS and iOS.
  • Since Xcode 14, bitcode is deprecated. Version M103 and above does not include bitcode.

📢 Requirements

  • iOS 12+
  • macOS 10.11+
  • macOS Catalyst 11.0+

📀 Binaries included

Platform / arch arm64 x86_x64
iOS (device) N/A
iOS (simulator)
macOS
macOS Catalyst

Looking for 32 bit binaries? Please use Version M94 or lower

🚚 Installation

Swift package manager

Xcode has a built-in support for Swift package manager. You can easily add the package by selecting File > Swift Packages > Add Package Dependency. Read more in Apple documentation.

Or, you can add the following dependency to your Package.swift file:

dependencies: [
    .package(url: "https://github.com/stasel/WebRTC.git", .upToNextMajor("123.0.0"))
]

Use the latest branch to get the most up to date binary:

dependencies: [
    .package(url: "https://github.com/stasel/WebRTC.git", branch: "latest")
]

Cocoapods

Add the following line to your Podfile:

pod 'WebRTC-lib'

And then run

pod install

Read more about Cocoapods: https://cocoapods.org

Carthage

Requires Carthage version 0.38 or higher

Add the following dependency to the Cartfile in your project:

binary "https://raw.githubusercontent.com/stasel/WebRTC/latest/WebRTC.json"

Then update the dependencies using the following command:

carthage update --use-xcframeworks

And finally, add the xcframework located in ./Carthage/Build/WebRTC.xcframework to your target(s) embedded frameworks.

Read more about Carthage: https://github.com/Carthage/Carthage

Manual

  1. Download the framework from the releases section.
  2. Unzip the file.
  3. Add the xcframework to your target(s) embedded frameworks.

👷 Usage

To import WebRTC to your code add the following import statement

import WebRTC

If you wish to see how to use WebRTC I highly recommend checking out my WebRTC demo iOS app: https://github.com/stasel/WebRTC-iOS

🛠 Compile your own WebRTC Frameworks

If you wish to compile your own WebRTC binary framework, please refer to the following official guide: https://webrtc.googlesource.com/src/+/refs/heads/main/docs/native-code/ios/README.md

You can also take a look at the build script I created for more details.

📃 License