New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More

com.shepeliev:webrtc-kmp-iosarm64

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

com.shepeliev:webrtc-kmp-iosarm64

WebRTC Kotlin Multiplatform SDK

0.125.5
Version published
Maintainers
1

WebRTC KMP Maven Central

WebRTC Kotlin Multiplatform SDK is a comprehensive toolkit for integrating WebRTC functionality into your multiplatform projects. It supports Android, iOS, JS. Other platforms - PRs are welcome.

API implementation map

APIAndroidiOSJS/WasmJS
Audio/Video:white_check_mark::white_check_mark::white_check_mark:
Data channel:white_check_mark::white_check_mark::white_check_mark:
Screen Capture:white_check_mark::white_check_mark:

WebRTC revision

Current revision: M125

Installation

The library is published to Maven Central.

Add dependency to your common source set:

commonMain.dependencies {
  dependencies {
    implementation("com.shepeliev:webrtc-kmp:$webRtcKmpVersion")
  }
}

Running on iOS

On iOS, the WebRTC SDK is not linked as a transitive dependency, so you need to add it to your iOS project manually. This can be done using CocoaPods or SPM, depending on your project setup. Here is an example of how to link the WebRTC SDK using CocoaPods in build.gradle.kts:

kotlin {
  cocoapods {
    version = "1.0.0"
    summary = "Shared module"
    homepage = "not published"
    ios.deploymentTarget = "13.0"
   
    pod("WebRTC-SDK") { 
      version = "125.6422.05"
      moduleName = "WebRTC"
    }
  
    podfile = project.file("../iosApp/Podfile")
  
    framework {
      baseName = "shared"
      isStatic = true  
    }
  
    xcodeConfigurationToNativeBuildType["CUSTOM_DEBUG"] = NativeBuildType.DEBUG
    xcodeConfigurationToNativeBuildType["CUSTOM_RELEASE"] = NativeBuildType.RELEASE
  }

    iosX64()
    iosArm64()
    iosSimulatorArm64()
}

Also add the following to your Podfile in the target section:

use_frameworks!
pod 'shared', :path => '../shared'

Usage

Please refer to sample.

Screen Share in Android

// Set MediaProjection permission intent using `MediaProjectionIntentHolder`
val mediaProjectionPermissionLauncher = rememberLauncherForActivityResult(
    contract = ActivityResultContracts.StartActivityForResult()
) { activityResult ->
    activityResult.data?.also {
        MediaProjectionIntentHolder.intent = it
    }
}

FAQs

Package last updated on 25 Sep 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts