From d995704f3e95c687748c91a141d3835abd8c6c6e Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Tue, 17 Dec 2024 11:49:18 -0500 Subject: [PATCH 1/2] [Interop] Create new FirebaseAnalyticsInterop pod --- FirebaseABTesting.podspec | 2 +- FirebaseAnalyticsInterop.podspec | 32 ++++++++++++++++++++++++++++++++ FirebaseCrashlytics.podspec | 2 +- FirebaseDynamicLinks.podspec | 2 +- FirebaseInAppMessaging.podspec | 2 +- FirebaseMessaging.podspec | 2 +- FirebaseRemoteConfig.podspec | 2 +- 7 files changed, 38 insertions(+), 6 deletions(-) create mode 100644 FirebaseAnalyticsInterop.podspec diff --git a/FirebaseABTesting.podspec b/FirebaseABTesting.podspec index 6ff0c3dfcf4..b3fc66135e0 100644 --- a/FirebaseABTesting.podspec +++ b/FirebaseABTesting.podspec @@ -40,7 +40,6 @@ Firebase Cloud Messaging and Firebase Remote Config in your app. base_dir = "FirebaseABTesting/Sources/" s.source_files = [ base_dir + '**/*.[mh]', - 'Interop/Analytics/Public/*.h', 'FirebaseCore/Extension/*.h', ] s.resource_bundles = { @@ -53,6 +52,7 @@ Firebase Cloud Messaging and Firebase Remote Config in your app. 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"' } s.dependency 'FirebaseCore', '~> 11.7.0' + s.dependency 'FirebaseAnalyticsInterop', '~> 11.7.0' s.test_spec 'unit' do |unit_tests| unit_tests.scheme = { :code_coverage => true } diff --git a/FirebaseAnalyticsInterop.podspec b/FirebaseAnalyticsInterop.podspec new file mode 100644 index 00000000000..9a536039e46 --- /dev/null +++ b/FirebaseAnalyticsInterop.podspec @@ -0,0 +1,32 @@ +Pod::Spec.new do |s| + s.name = 'FirebaseAnalyticsInterop' + s.version = '11.7.0' + s.summary = 'Interfaces that allow other Firebase SDKs to use Analytics functionality.' + + s.description = <<-DESC + Not for public use. + A set of protocols that other Firebase SDKs can use to interoperate with FirebaseAnalytics in a safe + and reliable manner. + DESC + + s.homepage = 'https://firebase.google.com' + s.license = { :type => 'Apache-2.0', :file => 'LICENSE' } + s.authors = 'Google, Inc.' + + # NOTE that these should not be used externally, this is for Firebase pods to depend on each + # other. + s.source = { + :git => 'https://github.com/firebase/firebase-ios-sdk.git', + :tag => 'CocoaPods-' + s.version.to_s + } + s.social_media_url = 'https://twitter.com/Firebase' + s.ios.deployment_target = '13.0' + s.osx.deployment_target = '10.15' + s.tvos.deployment_target = '13.0' + s.watchos.deployment_target = '7.0' + + s.cocoapods_version = '>= 1.12.0' + + s.source_files = 'Interop/Analytics/**/*.[hm]' + s.public_header_files = 'Interop/Analytics/Public/*.h' +end diff --git a/FirebaseCrashlytics.podspec b/FirebaseCrashlytics.podspec index 50851982c3c..cfeb76f9c26 100644 --- a/FirebaseCrashlytics.podspec +++ b/FirebaseCrashlytics.podspec @@ -33,7 +33,6 @@ Pod::Spec.new do |s| 'Crashlytics/third_party/**/*.{c,h,m,mm}', 'FirebaseCore/Extension/*.h', 'FirebaseInstallations/Source/Library/Private/*.h', - 'Interop/Analytics/Public/*.h', ] s.resource_bundles = { @@ -63,6 +62,7 @@ Pod::Spec.new do |s| s.dependency 'FirebaseInstallations', '~> 11.0' s.dependency 'FirebaseSessions', '~> 11.0' s.dependency 'FirebaseRemoteConfigInterop', '~> 11.0' + s.dependency 'FirebaseAnalyticsInterop', '~> 11.7' s.dependency 'PromisesObjC', '~> 2.4' s.dependency 'GoogleDataTransport', '~> 10.0' s.dependency 'GoogleUtilities/Environment', '~> 8.0' diff --git a/FirebaseDynamicLinks.podspec b/FirebaseDynamicLinks.podspec index 311c14be840..0494d83ea62 100644 --- a/FirebaseDynamicLinks.podspec +++ b/FirebaseDynamicLinks.podspec @@ -25,7 +25,6 @@ Firebase Dynamic Links are deep links that enhance user experience and increase s.source_files = [ 'FirebaseDynamicLinks/Sources/**/*.[mh]', - 'Interop/Analytics/Public/*.h', 'FirebaseCore/Extension/*.h', ] s.public_header_files = 'FirebaseDynamicLinks/Sources/Public/FirebaseDynamicLinks/*.h' @@ -35,6 +34,7 @@ Firebase Dynamic Links are deep links that enhance user experience and increase s.frameworks = 'QuartzCore' s.weak_framework = 'WebKit' s.dependency 'FirebaseCore', '~> 11.7.0' + s.dependency 'FirebaseAnalyticsInterop', '~> 11.7' s.pod_target_xcconfig = { 'GCC_C_LANGUAGE_STANDARD' => 'c99', diff --git a/FirebaseInAppMessaging.podspec b/FirebaseInAppMessaging.podspec index f8aa4df33d2..fa4e7950af4 100644 --- a/FirebaseInAppMessaging.podspec +++ b/FirebaseInAppMessaging.podspec @@ -39,7 +39,6 @@ See more product details at https://firebase.google.com/products/in-app-messagin base_dir + "Sources/Runtime/**/*.[cmh]", base_dir + "Sources/Util/**/*.[cmh]", base_dir + "Swift/Source/**/*.swift", - 'Interop/Analytics/Public/*.h', 'FirebaseABTesting/Sources/Private/*.h', 'FirebaseCore/Extension/*.h', 'FirebaseInstallations/Source/Library/Private/*.h', @@ -83,6 +82,7 @@ See more product details at https://firebase.google.com/products/in-app-messagin s.dependency 'FirebaseCore', '~> 11.7.0' s.dependency 'FirebaseInstallations', '~> 11.0' s.dependency 'FirebaseABTesting', '~> 11.0' + s.dependency 'FirebaseAnalyticsInterop', '~> 11.7' s.dependency 'GoogleUtilities/Environment', '~> 8.0' s.dependency 'GoogleUtilities/UserDefaults', '~> 8.0' s.dependency 'nanopb', '~> 3.30910.0' diff --git a/FirebaseMessaging.podspec b/FirebaseMessaging.podspec index f23caa247f2..8e80a176fe9 100644 --- a/FirebaseMessaging.podspec +++ b/FirebaseMessaging.podspec @@ -40,7 +40,6 @@ device, and it is completely free. base_dir + 'Sources/**/*.{c,m,h}', base_dir + 'Sources/Protogen/nanopb/*.h', base_dir + 'Interop/*.h', - 'Interop/Analytics/Public/*.h', 'FirebaseCore/Extension/*.h', 'FirebaseInstallations/Source/Library/Private/*.h', ] @@ -62,6 +61,7 @@ device, and it is completely free. s.osx.framework = 'SystemConfiguration' s.weak_framework = 'UserNotifications' s.dependency 'FirebaseInstallations', '~> 11.0' + s.dependency 'FirebaseAnalyticsInterop', '~> 11.7' s.dependency 'FirebaseCore', '~> 11.7.0' s.dependency 'GoogleUtilities/AppDelegateSwizzler', '~> 8.0' s.dependency 'GoogleUtilities/Reachability', '~> 8.0' diff --git a/FirebaseRemoteConfig.podspec b/FirebaseRemoteConfig.podspec index d9c7b90b6f9..ae14e05f574 100644 --- a/FirebaseRemoteConfig.podspec +++ b/FirebaseRemoteConfig.podspec @@ -36,7 +36,6 @@ app update. base_dir = "FirebaseRemoteConfig/Sources/" s.source_files = [ base_dir + '**/*.[mh]', - 'Interop/Analytics/Public/*.h', 'FirebaseABTesting/Sources/Private/*.h', 'FirebaseCore/Extension/*.h', 'FirebaseInstallations/Source/Library/Private/*.h', @@ -57,6 +56,7 @@ app update. s.dependency 'GoogleUtilities/Environment', '~> 8.0' s.dependency 'GoogleUtilities/NSData+zlib', '~> 8.0' s.dependency 'FirebaseRemoteConfigInterop', '~> 11.0' + s.dependency 'FirebaseAnalyticsInterop', '~> 11.7' s.test_spec 'unit' do |unit_tests| unit_tests.scheme = { :code_coverage => true } From 82c05e6a294a46b36615c999252c3bfba8032ec1 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Tue, 17 Dec 2024 11:54:08 -0500 Subject: [PATCH 2/2] Add new pod to manifest --- ReleaseTooling/Sources/FirebaseManifest/FirebaseManifest.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/ReleaseTooling/Sources/FirebaseManifest/FirebaseManifest.swift b/ReleaseTooling/Sources/FirebaseManifest/FirebaseManifest.swift index 4a9f7afc4ef..8b6a71ef8f7 100755 --- a/ReleaseTooling/Sources/FirebaseManifest/FirebaseManifest.swift +++ b/ReleaseTooling/Sources/FirebaseManifest/FirebaseManifest.swift @@ -33,6 +33,7 @@ public let shared = Manifest( Pod("FirebaseInstallations"), Pod("FirebaseSessions"), Pod("FirebaseRemoteConfigInterop"), + Pod("FirebaseAnalyticsInterop"), Pod("GoogleAppMeasurement", isClosedSource: true, platforms: ["ios", "macos", "tvos"]), Pod("GoogleAppMeasurementOnDeviceConversion", isClosedSource: true, platforms: ["ios"]), Pod("FirebaseAnalytics", isClosedSource: true, platforms: ["ios", "macos", "tvos"], zip: true),