mirror of
https://github.com/mattermost/mattermost-mobile.git
synced 2026-11-05 02:18:56 +00:00
* replace react webrtc library for livekit fork * move rtcd calls code to its own packages and extract common code * switch calls transport depending on plugin version it will use rtcd transport for plugin versions lower than 2 and livekit on 2.x.x and greater versions. * livekit transport implementation for calls * support for livekit calls not using calls websocket events * capture mic before room connection to process initial mutes right * use plugin cached version in case of fetch failures * prevent race while waiting for turn server request * fix channel intro spinner getting stuck when posts finish loading before the listener subscribes * address PR comments
55 lines
1.8 KiB
Ruby
55 lines
1.8 KiB
Ruby
require "json"
|
|
|
|
package = JSON.parse(File.read(File.join(__dir__, "package.json")))
|
|
|
|
Pod::Spec.new do |s|
|
|
s.name = "mattermost-calls-native"
|
|
s.version = package["version"]
|
|
s.summary = package["description"]
|
|
s.homepage = package["homepage"]
|
|
s.license = package["license"]
|
|
s.authors = package["author"]
|
|
|
|
s.platforms = { :ios => min_ios_version_supported }
|
|
s.source = { :git => ".git", :tag => "#{s.version}" }
|
|
|
|
s.source_files = "ios/**/*.{h,m,mm,swift}"
|
|
|
|
s.resource_bundles = {
|
|
'MMCallsNativeResources' => ['ios/Resources/**/*.png']
|
|
}
|
|
|
|
s.frameworks = "PushKit", "CallKit", "AVFoundation"
|
|
|
|
# Match the WebRTC framework that @livekit/react-native-webrtc pulls in.
|
|
# We call RTCAudioSession.sharedInstance().audioSessionDidActivate(_:)
|
|
# directly from our CallKit delegate, so the framework must be the same
|
|
# binary the host app links — two WebRTC modules will not coexist.
|
|
# LiveKit pins this pod exactly, so it has to track the fork on every bump.
|
|
s.dependency 'WebRTC-SDK', '= 144.7559.10'
|
|
|
|
s.dependency 'Gekidou'
|
|
|
|
fabric_enabled = ENV["RCT_NEW_ARCH_ENABLED"] == "1"
|
|
other_cpp_flags = fabric_enabled ? "-DRCT_NEW_ARCH_ENABLED=1" : ""
|
|
|
|
install_modules_dependencies(s)
|
|
|
|
s.pod_target_xcconfig = {
|
|
'USE_HEADERMAP' => 'YES',
|
|
"DEFINES_MODULE" => "YES",
|
|
'SWIFT_COMPILATION_MODE' => 'wholemodule',
|
|
"BUILD_LIBRARY_FOR_DISTRIBUTION" => "YES",
|
|
"OTHER_CPLUSPLUSFLAGS" => other_cpp_flags,
|
|
"OTHER_SWIFT_FLAGS" => "-no-verify-emitted-module-interface",
|
|
"CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
|
|
}
|
|
|
|
user_header_search_paths = [
|
|
'"${PODS_CONFIGURATION_BUILD_DIR}/mattermost-calls-native/Swift Compatibility Header"',
|
|
]
|
|
s.user_target_xcconfig = {
|
|
"HEADER_SEARCH_PATHS" => user_header_search_paths,
|
|
}
|
|
end
|