a92cdd69f8
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>
79 lines
2.2 KiB
Swift
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],
|
|
)
|