From c4ffe2a4e9cf6f510d8b43ac37ea0cb02a515bfc Mon Sep 17 00:00:00 2001 From: sravan Date: Thu, 30 Jul 2026 16:03:01 +0530 Subject: [PATCH] build(ios): add LiveKitClient pod to native-call (native call media) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Foundation for native LiveKit calling: the LiveKit iOS SDK carries the call media natively and coordinates its audio engine with CallKit's AVAudioSession (AudioManager .setEngineAvailability on didActivate/didDeactivate) — the thing WebKit's WebRTC can't do. With this, the CallKit call stays active (stable ring + lock-screen answer + background) AND the mic works. Native connection code + server LiveKit token in the VoIP payload + WebView coordination come next. Don't build yet. Co-Authored-By: Claude Opus 4.8 --- mobile/plugins/native-call/NativeCall.podspec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mobile/plugins/native-call/NativeCall.podspec b/mobile/plugins/native-call/NativeCall.podspec index 8a06320..c274b48 100644 --- a/mobile/plugins/native-call/NativeCall.podspec +++ b/mobile/plugins/native-call/NativeCall.podspec @@ -17,6 +17,10 @@ Pod::Spec.new do |s| s.source_files = 'ios/Sources/**/*.{swift,h,m}' s.ios.deployment_target = '14.0' s.dependency 'Capacitor' + # LiveKit iOS SDK — carries the call media NATIVELY so audio survives backgrounding AND coordinates with + # CallKit's audio session (AudioManager.setEngineAvailability on didActivate/didDeactivate), which the + # WebView's WebRTC could not do. Pulls in the WebRTC binary transitively. + s.dependency 'LiveKitClient', '~> 2.0' # CallKit + PushKit + AVFoundation are system frameworks (no external pod). s.frameworks = 'CallKit', 'PushKit', 'AVFoundation' s.swift_version = '5.1'