Files
BizGaze_Remote/pkg.swift
T
Sravan a92cdd69f8 Native calls: get LiveKit 2.15.3 via git-tag pin (stay on CocoaPods) + audio fix
The LiveKitClient CocoaPod on trunk caps at 2.0.18 (2.1+ is SPM-only), so the
2.15 CallKit audio API was unreachable. BUT the repo still ships a valid podspec
at tag 2.15.3, and its deps (LiveKitWebRTC 144.7559.11, LiveKitUniFFI 0.0.6,
SwiftProtobuf) ARE on trunk. So instead of a risky SPM migration:
- ios-patch.sh injects `pod 'LiveKitClient', :git => <repo>, :tag => '2.15.3'`
  into the generated Podfile (after cap sync, before pod install). The NativeCall
  podspec's '~> 2.0' is satisfied by 2.15.3. Idempotent; hard-fails if it can't
  find the App target so we never silently fall back to 2.0.18.
- Plugin re-adds the CallKit<->LiveKit audio-session coordination, now compilable:
  auto-config OFF + engine OFF at load; configure session + enable engine in
  didActivate; disable in didDeactivate; request mic permission on connect.

Core Room APIs (connect/disconnect/setMicrophone) verified compatible between
2.0.18 and 2.15.3 against the real source.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-31 19:46:48 +05:30

79 lines
2.2 KiB
Swift

// swift-tools-version:6.1
// (Xcode16.3+)
import PackageDescription
let package = Package(
name: "LiveKit",
platforms: [
.iOS(.v13),
.macOS(.v10_15),
.macCatalyst(.v14),
.tvOS(.v17),
],
products: [
.library(
name: "LiveKit",
targets: ["LiveKit"],
),
],
dependencies: [
// LK-Prefixed Dynamic WebRTC XCFramework
.package(url: "https://github.com/livekit/webrtc-xcframework.git", exact: "144.7559.11"),
.package(url: "https://github.com/livekit/livekit-uniffi-xcframework.git", exact: "0.0.6"),
.package(url: "https://github.com/apple/swift-protobuf.git", from: "1.31.0"),
// Only used for DocC generation
.package(url: "https://github.com/apple/swift-docc-plugin.git", from: "1.3.0"),
],
targets: [
.target(
name: "LKObjCHelpers",
publicHeadersPath: "include",
),
.target(
name: "LiveKit",
dependencies: [
.product(name: "LiveKitWebRTC", package: "webrtc-xcframework"),
.product(name: "LiveKitUniFFI", package: "livekit-uniffi-xcframework"),
.product(name: "SwiftProtobuf", package: "swift-protobuf"),
"LKObjCHelpers",
],
exclude: [
"Broadcast/NOTICE",
],
resources: [
.process("PrivacyInfo.xcprivacy"),
],
),
.target(
name: "LiveKitTestSupport",
dependencies: [
"LiveKit",
],
path: "Tests/LiveKitTestSupport",
),
.testTarget(
name: "LiveKitCoreTests",
dependencies: [
"LiveKit",
"LiveKitTestSupport",
],
),
.testTarget(
name: "LiveKitAudioTests",
dependencies: [
"LiveKit",
"LiveKitTestSupport",
],
),
.testTarget(
name: "LiveKitObjCTests",
dependencies: [
"LiveKit",
"LiveKitTestSupport",
],
),
],
swiftLanguageModes: [.v5, .v6],
)