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>
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
// 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],
|
||||
)
|
||||
Reference in New Issue
Block a user