From 8c737372dede8d4047001445b796c603105ff7df Mon Sep 17 00:00:00 2001 From: sravan Date: Sat, 1 Aug 2026 00:16:59 +0530 Subject: [PATCH] Fix pod install: git-pin LiveKitWebRTC 144.7559.11 too (last SPM-only binary) LiveKitClient + LiveKitUniFFI now pre-download OK; the last unresolved dep is LiveKitWebRTC (= 144.7559.11), also SPM-only (CDN only has 125.x). Its repo ships a podspec at that tag with NO further deps, but its source is an :http release-zip (not in the git tree), so we pin via :podspec => (not :git, which would clone a repo with no xcframework). SwiftProtobuf resolves from the CDN. This should complete resolution for LiveKit 2.15.3 on CocoaPods. Co-Authored-By: Claude Opus 4.8 --- mobile/scripts/ios-patch.sh | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/mobile/scripts/ios-patch.sh b/mobile/scripts/ios-patch.sh index c901c33..0cff121 100644 --- a/mobile/scripts/ios-patch.sh +++ b/mobile/scripts/ios-patch.sh @@ -137,15 +137,19 @@ if [ -f "$PODFILE" ]; then ruby -e ' p = "mobile/ios/App/Podfile" s = File.read(p) - # LiveKitClient 2.15.3 depends on LiveKitUniFFI (= 0.0.6), which is NOT on the CocoaPods CDN (SPM-only), - # so we ALSO pin it to its git tag (its podspec at 0.0.6 has no further deps — just downloads its - # prebuilt XCFramework). LiveKitWebRTC 144.x + SwiftProtobuf resolve from the CDN normally. + # LiveKit 2.15.3 pulls two binary deps that are SPM-only (NOT on the CocoaPods CDN), so we pin each to + # its own repo podspec (neither has further deps): + # * LiveKitUniFFI 0.0.6 — podspec has a :git source + prepare_command that downloads its xcframework, so :git works. + # * LiveKitWebRTC 144.7559.11 — podspec has an :http source (release-zip), NOT in the git tree, so we + # point at the podspec URL with :podspec (using :git would clone a repo with no xcframework and fail). + # SwiftProtobuf (the only other dep) resolves from the CDN normally. pin = " pod \x27LiveKitClient\x27, :git => \x27https://github.com/livekit/client-sdk-swift.git\x27, :tag => \x272.15.3\x27\n" + - " pod \x27LiveKitUniFFI\x27, :git => \x27https://github.com/livekit/livekit-uniffi-xcframework.git\x27, :tag => \x270.0.6\x27\n" + " pod \x27LiveKitUniFFI\x27, :git => \x27https://github.com/livekit/livekit-uniffi-xcframework.git\x27, :tag => \x270.0.6\x27\n" + + " pod \x27LiveKitWebRTC\x27, :podspec => \x27https://raw.githubusercontent.com/livekit/webrtc-xcframework/144.7559.11/LiveKitWebRTC.podspec\x27\n" if s =~ /target ["\x27]App["\x27] do\n/ s = s.sub(/target ["\x27]App["\x27] do\n/) { |m| m + pin } File.write(p, s) - puts "Podfile: pinned LiveKitClient 2.15.3 + LiveKitUniFFI 0.0.6 (git tags)" + puts "Podfile: pinned LiveKitClient 2.15.3 + LiveKitUniFFI 0.0.6 + LiveKitWebRTC 144.7559.11" else STDERR.puts "WARN: could not find \"target App do\" in Podfile — LiveKit pin NOT applied" exit 1