From cfa45d5948d5cd51b2c12545635f2cf5f5206d6b Mon Sep 17 00:00:00 2001 From: Vishal Gupta Date: Thu, 2 Jul 2026 16:40:53 +0530 Subject: [PATCH 1/3] fix: support Facebook SDK 18 and fix $FacebookSDKVersion override - widen default FBSDKCoreKit constraint from `~> 17.0.2` to `>= 17.0.2, < 19.0` to allow Facebook SDK 18.x - fix `$FacebookSDKVersion` override crashing pod install (missing `$` referenced undefined constant Pod::FacebookSDKVersion) - splat the version via `*Array(...)` so both string overrides and the default range are passed to s.dependency Scanned-by: gitleaks 8.29.0 --- Rudder-Facebook.podspec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Rudder-Facebook.podspec b/Rudder-Facebook.podspec index 876be54..6937399 100644 --- a/Rudder-Facebook.podspec +++ b/Rudder-Facebook.podspec @@ -2,7 +2,7 @@ require 'json' package = JSON.parse(File.read(File.join(__dir__, 'package.json'))) -facebook_sdk_version = '~> 17.0.2' +facebook_sdk_version = ['>= 17.0.2', '< 19.0'] rudder_sdk_version = '~> 1.12' deployment_target = '12.0' facebook_app_events = 'FBSDKCoreKit' @@ -27,7 +27,7 @@ Pod::Spec.new do |s| if defined?($FacebookSDKVersion) facebook_sdk_version = $FacebookSDKVersion - Pod::UI.puts "#{s.name}: Using user specified Facebook SDK version '#{FacebookSDKVersion}'" + Pod::UI.puts "#{s.name}: Using user specified Facebook SDK version '#{$FacebookSDKVersion}'" else Pod::UI.puts "#{s.name}: Using default facebook SDK version '#{facebook_sdk_version}'" end @@ -40,5 +40,5 @@ Pod::Spec.new do |s| end s.dependency 'Rudder', rudder_sdk_version - s.dependency facebook_app_events, facebook_sdk_version + s.dependency facebook_app_events, *Array(facebook_sdk_version) end From 77868cb3b8548c9cde4eb8bd01ac2c31f37001f5 Mon Sep 17 00:00:00 2001 From: Vishal Gupta Date: Thu, 2 Jul 2026 16:56:48 +0530 Subject: [PATCH 2/3] chore: format default Facebook SDK version log for array constraint Join the version requirement array so the install log prints `>= 17.0.2, < 19.0` instead of the raw Ruby array literal. Scanned-by: gitleaks 8.29.0 --- Rudder-Facebook.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Rudder-Facebook.podspec b/Rudder-Facebook.podspec index 6937399..1651125 100644 --- a/Rudder-Facebook.podspec +++ b/Rudder-Facebook.podspec @@ -29,7 +29,7 @@ Pod::Spec.new do |s| facebook_sdk_version = $FacebookSDKVersion Pod::UI.puts "#{s.name}: Using user specified Facebook SDK version '#{$FacebookSDKVersion}'" else - Pod::UI.puts "#{s.name}: Using default facebook SDK version '#{facebook_sdk_version}'" + Pod::UI.puts "#{s.name}: Using default facebook SDK version '#{Array(facebook_sdk_version).join(', ')}'" end if defined?($RudderSDKVersion) From c8e2d649a652fa8f5247b2e530eb344648d455de Mon Sep 17 00:00:00 2001 From: Vishal Gupta Date: Fri, 3 Jul 2026 11:39:12 +0530 Subject: [PATCH 3/3] fix: ignore nil or empty $FacebookSDKVersion override Guard the override on a non-empty value so a nil/blank $FacebookSDKVersion (e.g. from a missing env var) falls back to the default `>= 17.0.2, < 19.0` range instead of dropping the version cap. Scanned-by: gitleaks 8.29.0 --- Rudder-Facebook.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Rudder-Facebook.podspec b/Rudder-Facebook.podspec index 1651125..a3bece3 100644 --- a/Rudder-Facebook.podspec +++ b/Rudder-Facebook.podspec @@ -25,7 +25,7 @@ Pod::Spec.new do |s| s.source_files = 'Rudder-Facebook/Classes/**/*' s.ios.deployment_target = deployment_target - if defined?($FacebookSDKVersion) + if defined?($FacebookSDKVersion) && !$FacebookSDKVersion.to_s.empty? facebook_sdk_version = $FacebookSDKVersion Pod::UI.puts "#{s.name}: Using user specified Facebook SDK version '#{$FacebookSDKVersion}'" else