From f6135d38ff36fe5687aa6e9dca3471051a9b8a52 Mon Sep 17 00:00:00 2001 From: klockky Date: Sat, 16 May 2026 22:04:18 +0300 Subject: [PATCH] fix(ios): strip whole Firebase #if/#endif blocks from plugin registrant --- ios/Podfile | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/ios/Podfile b/ios/Podfile index 347f73c..57209b3 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -24,8 +24,16 @@ end registrant = File.expand_path('Runner/GeneratedPluginRegistrant.m', __dir__) if File.exist?(registrant) - drop = /firebase_core|firebase_messaging|FLTFirebaseCorePlugin|FLTFirebaseMessagingPlugin/ - File.write(registrant, File.readlines(registrant).reject { |line| line =~ drop }.join) + src = File.read(registrant) + FIREBASE_IOS_PLUGINS.each do |mod| + cls = "FLT#{mod.split('_').map(&:capitalize).join}Plugin" + m = Regexp.escape(mod) + src = src.gsub(/#if __has_include\(<#{m}\/[^>]+>\).*?#endif\n/m, '') + src = src.gsub(/^\s*#import <#{m}\/[^>]+>\n/, '') + src = src.gsub(/^\s*@import #{m};\n/, '') + src = src.gsub(/^\s*\[#{cls} registerWithRegistrar:.*\n/, '') + end + File.write(registrant, src) end project 'Runner', {