Skip to content

Latest commit

 

History

151 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WebRTC Binaries for iOS and macOS

Latest version Cocoapods Release Date GitHub Actions Workflow Status Total Downloads

This repository contains a community-driven 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 .
  • No modifications are made to the source code or the output binaries.
  • The build process is open source using GitHub actions.
  • Dynamic framework (xcframework format) which contains multiple binaries for macOS and iOS.
  • Added support for extra encodings: VP9, H264 and AV1.
  • H.265 / HEVC: the SDP negotiation and RTP packetization layer is compiled but WebRTC ships no HEVC encoder or decoder for Apple platforms.
  • dSYM files are included in case you need them. You can download them from the releases page. (Available from version M152).

πŸ“’ 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("152.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

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.

πŸ“ƒ Licenses

About

A community-driven distribution of up to date WebRTC framework binaries for iOS and macOS

Topics

Resources

Stars

626 stars

Watchers

15 watching

Forks

Releases

Used by

Contributors

Languages