29106370fd
Bump to Capacitor 8 while staying on CocoaPods (decouples the major-version bump from the SPM switch, per the verified plan). Changes: - mobile/package.json: all @capacitor/* + @capacitor-community/safe-area + cli → ^8.0.0 (safe-area 8.0.1 verified Cap 8 compatible; @capacitor/assets stays 3.x, version-agnostic). - 4 local plugins: @capacitor/core peer/dev dep → ^8.0.0; podspec ios deployment_target 14→15. - codemagic.yaml: node 20→22 (Cap 8 requires Node 22+); `cap add ios --packagemanager Cocoapods` (Cap 8 defaults to SPM — force CocoaPods); fail loudly if no Podfile is generated. - add-share-extension.rb: fallback deployment target 14→15. Requirements per the Cap 7→8 guide: Node 22+, Xcode 26+, iOS 15 min. capacitor.config has no adjustMarginsForEdgeToEdge to remove. LiveKit git-pins + native calling unchanged. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
32 lines
1.8 KiB
Ruby
32 lines
1.8 KiB
Ruby
require 'json'
|
|
|
|
package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
|
|
|
|
Pod::Spec.new do |s|
|
|
# NOTE: the pod name MUST be 'NativeCall' (PascalCase of the npm package name 'native-call').
|
|
# Capacitor's `cap sync` writes `pod 'NativeCall', :path => '../../plugins/native-call'` into the
|
|
# generated Podfile, and CocoaPods then looks for a file literally named NativeCall.podspec whose
|
|
# s.name is 'NativeCall'. Any other name → "No podspec found for `NativeCall`" and pod install fails.
|
|
s.name = 'NativeCall'
|
|
s.version = package['version']
|
|
s.summary = package['description']
|
|
s.license = package['license']
|
|
s.homepage = 'https://bizgaze.com'
|
|
s.author = 'BizGaze'
|
|
s.source = { :git => 'https://bizgaze.com/native-call.git', :tag => s.version.to_s }
|
|
s.source_files = 'ios/Sources/**/*.{swift,h,m}'
|
|
s.ios.deployment_target = '15.0'
|
|
s.dependency 'Capacitor'
|
|
# LiveKit iOS SDK — carries the call media NATIVELY so audio survives backgrounding AND coordinates with
|
|
# CallKit's audio session (auto-config OFF via AudioManager.shared.audioSession.isAutomaticConfigurationEnabled
|
|
# + setEngineAvailability in CXProvider didActivate/didDeactivate), which the WebView's WebRTC could not do.
|
|
# NOTE ON VERSION: this constraint stays '~> 2.0', but the actual version is pinned to 2.15.3 by a git-tag
|
|
# `pod 'LiveKitClient', :git => ...` line that ios-patch.sh injects into the generated Podfile — because the
|
|
# CallKit audio API needs 2.1+, which LiveKit publishes SPM-only (the CocoaPods TRUNK caps at 2.0.18, but the
|
|
# repo still ships a valid podspec at tag 2.15.3, and its deps are on trunk). 2.15.3 satisfies '~> 2.0'.
|
|
s.dependency 'LiveKitClient', '~> 2.0'
|
|
# CallKit + PushKit + AVFoundation are system frameworks (no external pod).
|
|
s.frameworks = 'CallKit', 'PushKit', 'AVFoundation'
|
|
s.swift_version = '5.1'
|
|
end
|