stasel / WebRTC

Unofficial distribution of up to date WebRTC framework binaries for iOS and macOS
Other
356 stars 75 forks source link
ios macos objcective-c swift webrtc

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

šŸ“¢ Requirements

šŸ“€ 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("126.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