From 94f7245092cfa6d84fd690f15cbae2e0e82e439d Mon Sep 17 00:00:00 2001 From: Daymon <17409137+daymxn@users.noreply.github.com> Date: Tue, 22 Sep 2026 17:41:59 -0500 Subject: [PATCH] infra(zip): refactor zip bundle id prefix (#16678) --- Firebase.podspec | 4 ++++ FirebaseABTesting.podspec | 3 ++- FirebaseAILogic.podspec | 4 ++++ FirebaseAnalytics.podspec | 4 ++++ FirebaseAppCheck.podspec | 3 ++- FirebaseAppCheckInterop.podspec | 4 ++++ FirebaseAppDistribution.podspec | 3 ++- FirebaseAuth.podspec | 3 ++- FirebaseAuthInterop.podspec | 4 ++++ FirebaseAuthTestingSupport.podspec | 4 ++++ FirebaseCombineSwift.podspec | 1 + FirebaseCore.podspec | 3 ++- FirebaseCore/CHANGELOG.md | 2 ++ FirebaseCoreExtension.podspec | 3 ++- FirebaseCoreInternal.podspec | 4 ++++ FirebaseCrashlytics.podspec | 4 ++++ FirebaseDatabase.podspec | 3 ++- FirebaseFirestore.podspec | 3 +++ FirebaseFirestoreInternal.podspec | 3 ++- FirebaseFirestoreTestingSupport.podspec | 3 ++- FirebaseFunctions.podspec | 4 ++++ FirebaseInAppMessaging.podspec | 3 ++- FirebaseInstallations.podspec | 3 ++- FirebaseMessaging.podspec | 1 + FirebaseMessagingInterop.podspec | 4 ++++ FirebasePerformance.podspec | 1 + FirebaseRemoteConfig.podspec | 3 ++- FirebaseRemoteConfigInterop.podspec | 4 ++++ FirebaseSessions.podspec | 1 + FirebaseSharedSwift.podspec | 4 ++++ FirebaseStorage.podspec | 4 ++++ 31 files changed, 85 insertions(+), 12 deletions(-) diff --git a/Firebase.podspec b/Firebase.podspec index 44d9a723e8..1a64aebe09 100644 --- a/Firebase.podspec +++ b/Firebase.podspec @@ -30,6 +30,10 @@ Simplify your app development, grow your user base, and monetize more effectivel s.swift_version = '5.9' + s.pod_target_xcconfig = { + 'PRODUCT_BUNDLE_IDENTIFIER' => 'com.google.firebase.Firebase' + } + s.default_subspec = 'Core' s.subspec 'Core' do |ss| diff --git a/FirebaseABTesting.podspec b/FirebaseABTesting.podspec index eca85570f5..7dd3b1cd4e 100644 --- a/FirebaseABTesting.podspec +++ b/FirebaseABTesting.podspec @@ -49,7 +49,8 @@ Firebase Cloud Messaging and Firebase Remote Config in your app. s.requires_arc = base_dir + '*.m' s.public_header_files = base_dir + 'Public/FirebaseABTesting/*.h' s.pod_target_xcconfig = { - 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"' + 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"', + 'PRODUCT_BUNDLE_IDENTIFIER' => 'com.google.firebase.FirebaseABTesting' } s.dependency 'FirebaseCore', '~> 13.0.0' diff --git a/FirebaseAILogic.podspec b/FirebaseAILogic.podspec index caa0b356fc..3585b9036f 100644 --- a/FirebaseAILogic.podspec +++ b/FirebaseAILogic.podspec @@ -43,6 +43,10 @@ Build AI-powered apps and features with the Gemini API using the Firebase AI Log s.tvos.framework = 'UIKit' s.watchos.framework = 'WatchKit' + s.pod_target_xcconfig = { + 'PRODUCT_BUNDLE_IDENTIFIER' => 'com.google.firebase.FirebaseAILogic' + } + swift_flags_xcconfig = { 'OTHER_SWIFT_FLAGS' => '$(inherited) -D IS_FOUNDATION_MODELS_SUPPORTED_PLATFORM' } diff --git a/FirebaseAnalytics.podspec b/FirebaseAnalytics.podspec index d72d371a9c..58974f867e 100644 --- a/FirebaseAnalytics.podspec +++ b/FirebaseAnalytics.podspec @@ -26,6 +26,10 @@ Pod::Spec.new do |s| s.libraries = 'c++', 'sqlite3', 'z' s.frameworks = 'StoreKit' + s.pod_target_xcconfig = { + 'PRODUCT_BUNDLE_IDENTIFIER' => 'com.google.firebase.FirebaseAnalytics' + } + s.dependency 'FirebaseCore', '~> 13.0.0' s.dependency 'FirebaseInstallations', '~> 13.0.0' s.dependency 'GoogleUtilities/AppDelegateSwizzler', '>= 8.1.3', '< 9.0' diff --git a/FirebaseAppCheck.podspec b/FirebaseAppCheck.podspec index 8377fbd4fc..b62d7003b5 100644 --- a/FirebaseAppCheck.podspec +++ b/FirebaseAppCheck.podspec @@ -51,7 +51,8 @@ Pod::Spec.new do |s| s.dependency 'GoogleUtilities/UserDefaults', '>= 8.1.3', '< 9.0' s.pod_target_xcconfig = { - 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"' + 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"', + 'PRODUCT_BUNDLE_IDENTIFIER' => 'com.google.firebase.FirebaseAppCheck' } s.test_spec 'unit' do |unit_tests| diff --git a/FirebaseAppCheckInterop.podspec b/FirebaseAppCheckInterop.podspec index cd09f4309f..fc0e7956b3 100644 --- a/FirebaseAppCheckInterop.podspec +++ b/FirebaseAppCheckInterop.podspec @@ -34,6 +34,10 @@ Pod::Spec.new do |s| s.source_files = 'FirebaseAppCheck/Interop/**/*.[hm]' s.public_header_files = 'FirebaseAppCheck/Interop/Public/FirebaseAppCheckInterop/*.h' + s.pod_target_xcconfig = { + 'PRODUCT_BUNDLE_IDENTIFIER' => 'com.google.firebase.FirebaseAppCheckInterop' + } + s.test_spec 'objc-unit' do |unit_tests| unit_tests.platforms = { :ios => ios_deployment_target, diff --git a/FirebaseAppDistribution.podspec b/FirebaseAppDistribution.podspec index 101f26cc51..1c0fdbcb20 100644 --- a/FirebaseAppDistribution.podspec +++ b/FirebaseAppDistribution.podspec @@ -36,7 +36,8 @@ iOS SDK for App Distribution for Firebase. s.dependency 'FirebaseInstallations', '~> 13.0.0' s.pod_target_xcconfig = { - 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"' + 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"', + 'PRODUCT_BUNDLE_IDENTIFIER' => 'com.google.firebase.FirebaseAppDistribution' } s.test_spec 'unit' do |unit_tests| diff --git a/FirebaseAuth.podspec b/FirebaseAuth.podspec index 567cdb2717..7040948e35 100644 --- a/FirebaseAuth.podspec +++ b/FirebaseAuth.podspec @@ -51,7 +51,8 @@ supports email and password accounts, as well as several 3rd party authenticatio s.pod_target_xcconfig = { # The second path is to find FirebaseAuth-Swift.h from a pod gen project 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}" "${OBJECT_FILE_DIR_normal}/${NATIVE_ARCH_ACTUAL}"', - 'OTHER_SWIFT_FLAGS' => "$(inherited) #{ENV.key?('FIREBASE_CI') ? '-D FIREBASE_CI -warnings-as-errors' : ''}" + 'OTHER_SWIFT_FLAGS' => "$(inherited) #{ENV.key?('FIREBASE_CI') ? '-D FIREBASE_CI -warnings-as-errors' : ''}", + 'PRODUCT_BUNDLE_IDENTIFIER' => 'com.google.firebase.FirebaseAuth' } s.framework = 'Security' s.ios.framework = 'SafariServices' diff --git a/FirebaseAuthInterop.podspec b/FirebaseAuthInterop.podspec index b94663784b..95a0467598 100644 --- a/FirebaseAuthInterop.podspec +++ b/FirebaseAuthInterop.podspec @@ -27,4 +27,8 @@ Pod::Spec.new do |s| s.source_files = 'FirebaseAuth/Interop/**/*.[hm]' s.public_header_files = 'FirebaseAuth/Interop/Public/FirebaseAuthInterop/*.h' + + s.pod_target_xcconfig = { + 'PRODUCT_BUNDLE_IDENTIFIER' => 'com.google.firebase.FirebaseAuthInterop' + } end diff --git a/FirebaseAuthTestingSupport.podspec b/FirebaseAuthTestingSupport.podspec index 64feafb7a7..6426b561a9 100644 --- a/FirebaseAuthTestingSupport.podspec +++ b/FirebaseAuthTestingSupport.podspec @@ -41,6 +41,10 @@ Pod::Spec.new do |s| s.dependency 'FirebaseAuth', '> 12.0' + s.pod_target_xcconfig = { + 'PRODUCT_BUNDLE_IDENTIFIER' => 'com.google.firebase.FirebaseAuthTestingSupport' + } + s.test_spec 'unit' do |unit_tests| unit_tests.scheme = { :code_coverage => true } unit_tests.platforms = {:ios => ios_deployment_target, :osx => osx_deployment_target, :tvos => tvos_deployment_target} diff --git a/FirebaseCombineSwift.podspec b/FirebaseCombineSwift.podspec index a696ec735e..d9ec8d784c 100644 --- a/FirebaseCombineSwift.podspec +++ b/FirebaseCombineSwift.podspec @@ -59,6 +59,7 @@ for internal testing only. It should not be published. s.pod_target_xcconfig = { 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"', + 'PRODUCT_BUNDLE_IDENTIFIER' => 'com.google.firebase.FirebaseCombineSwift' } s.test_spec 'unit' do |unit_tests| diff --git a/FirebaseCore.podspec b/FirebaseCore.podspec index 860cef5f09..9de6a5fffc 100644 --- a/FirebaseCore.podspec +++ b/FirebaseCore.podspec @@ -66,7 +66,8 @@ Firebase Core includes FIRApp and FIROptions which provide central configuration 'DEFINES_MODULE' => 'YES', 'GCC_PREPROCESSOR_DEFINITIONS' => 'Firebase_VERSION=' + s.version.to_s, 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"', - 'OTHER_CFLAGS' => '-fno-autolink' + 'OTHER_CFLAGS' => '-fno-autolink', + 'PRODUCT_BUNDLE_IDENTIFIER' => 'com.google.firebase.FirebaseCore' } s.test_spec 'unit' do |unit_tests| diff --git a/FirebaseCore/CHANGELOG.md b/FirebaseCore/CHANGELOG.md index a7d6c67547..eaf70c0405 100644 --- a/FirebaseCore/CHANGELOG.md +++ b/FirebaseCore/CHANGELOG.md @@ -19,6 +19,8 @@ and framework specific umbrella headers. (#16540) - [changed] **Breaking change**: The minimum supported version of `GTMSessionFetcher` is now `4.0.0` (support for `3.x` has been dropped). +- [changed] **Breaking change**: Bundle ID prefixes in the zip distribution are now + properly scoped to `com.google.firebase`, instead of `org.cocoapods.`. (#16678) # Firebase 12.19.1 - [fixed] Fixed the zip distribution artifact naming on the GitHub release diff --git a/FirebaseCoreExtension.podspec b/FirebaseCoreExtension.podspec index 631ced88fe..1b92018bb7 100644 --- a/FirebaseCoreExtension.podspec +++ b/FirebaseCoreExtension.podspec @@ -35,7 +35,8 @@ Pod::Spec.new do |s| } s.pod_target_xcconfig = { - 'DEFINES_MODULE' => 'YES' + 'DEFINES_MODULE' => 'YES', + 'PRODUCT_BUNDLE_IDENTIFIER' => 'com.google.firebase.FirebaseCoreExtension' } s.dependency 'FirebaseCore', '~> 13.0.0' diff --git a/FirebaseCoreInternal.podspec b/FirebaseCoreInternal.podspec index 8812b18ad7..bb0d4a2355 100644 --- a/FirebaseCoreInternal.podspec +++ b/FirebaseCoreInternal.podspec @@ -40,6 +40,10 @@ Pod::Spec.new do |s| s.dependency 'GoogleUtilities/NSData+zlib', '>= 8.1.3', '< 9.0' + s.pod_target_xcconfig = { + 'PRODUCT_BUNDLE_IDENTIFIER' => 'com.google.firebase.FirebaseCoreInternal' + } + s.test_spec 'Unit' do |unit_tests| unit_tests.scheme = { :code_coverage => true } unit_tests.platforms = { diff --git a/FirebaseCrashlytics.podspec b/FirebaseCrashlytics.podspec index 6cc3ab1728..0a06066b4b 100644 --- a/FirebaseCrashlytics.podspec +++ b/FirebaseCrashlytics.podspec @@ -74,6 +74,10 @@ Pod::Spec.new do |s| s.osx.frameworks = 'Security', 'SystemConfiguration' s.watchos.frameworks = 'Security' + s.pod_target_xcconfig = { + 'PRODUCT_BUNDLE_IDENTIFIER' => 'com.google.firebase.FirebaseCrashlytics' + } + s.ios.pod_target_xcconfig = { 'GCC_PREPROCESSOR_DEFINITIONS' => 'CLS_SDK_NAME="Crashlytics iOS SDK" ' + diff --git a/FirebaseDatabase.podspec b/FirebaseDatabase.podspec index 37f0231a2b..2a8fd7f63d 100644 --- a/FirebaseDatabase.podspec +++ b/FirebaseDatabase.podspec @@ -53,7 +53,8 @@ Simplify your iOS development, grow your user base, and monetize more effectivel s.dependency 'FirebaseSharedSwift', '~> 13.0.0' s.dependency 'GoogleUtilities/UserDefaults', '>= 8.1.3', '< 9.0' s.pod_target_xcconfig = { - 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"' + 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"', + 'PRODUCT_BUNDLE_IDENTIFIER' => 'com.google.firebase.FirebaseDatabase' } s.test_spec 'unit' do |unit_tests| diff --git a/FirebaseFirestore.podspec b/FirebaseFirestore.podspec index 0c97841273..018875f055 100644 --- a/FirebaseFirestore.podspec +++ b/FirebaseFirestore.podspec @@ -40,4 +40,7 @@ Google Cloud Firestore is a NoSQL document database built for automatic scaling, s.dependency 'FirebaseFirestoreInternal', '~> 13.0.0' s.dependency 'FirebaseSharedSwift', '~> 13.0.0' + s.pod_target_xcconfig = { + 'PRODUCT_BUNDLE_IDENTIFIER' => 'com.google.firebase.FirebaseFirestore' + } end diff --git a/FirebaseFirestoreInternal.podspec b/FirebaseFirestoreInternal.podspec index 18618dedec..3b2a39cc8f 100644 --- a/FirebaseFirestoreInternal.podspec +++ b/FirebaseFirestoreInternal.podspec @@ -129,7 +129,8 @@ Google Cloud Firestore is a NoSQL document database built for automatic scaling, '"${PODS_TARGET_SRCROOT}/Firestore/Source/Public" ' + '"${PODS_ROOT}/nanopb" ' + '"${PODS_TARGET_SRCROOT}/Firestore/Protos/nanopb" ' + - '"${PODS_TARGET_SRCROOT}/Firestore/third_party/re2" ' + '"${PODS_TARGET_SRCROOT}/Firestore/third_party/re2" ', + 'PRODUCT_BUNDLE_IDENTIFIER' => 'com.google.firebase.FirebaseFirestoreInternal' } s.compiler_flags = '$(inherited) -Wreorder -Werror=reorder -Wno-comma' diff --git a/FirebaseFirestoreTestingSupport.podspec b/FirebaseFirestoreTestingSupport.podspec index 60c4b7b7ba..af8fe5e0f2 100644 --- a/FirebaseFirestoreTestingSupport.podspec +++ b/FirebaseFirestoreTestingSupport.podspec @@ -47,7 +47,8 @@ Pod::Spec.new do |s| s.pod_target_xcconfig = { 'OTHER_CFLAGS' => '-fno-autolink', 'HEADER_SEARCH_PATHS' => - '"${PODS_TARGET_SRCROOT}" ' + '"${PODS_TARGET_SRCROOT}" ', + 'PRODUCT_BUNDLE_IDENTIFIER' => 'com.google.firebase.FirebaseFirestoreTestingSupport' } s.test_spec 'unit' do |unit_tests| diff --git a/FirebaseFunctions.podspec b/FirebaseFunctions.podspec index 13f7b08a00..dbf38eaa0a 100644 --- a/FirebaseFunctions.podspec +++ b/FirebaseFunctions.podspec @@ -43,6 +43,10 @@ Cloud Functions for Firebase. s.dependency 'FirebaseSharedSwift', '~> 13.0.0' s.dependency 'GTMSessionFetcher/Core', '>= 4.0', '< 6.0' + s.pod_target_xcconfig = { + 'PRODUCT_BUNDLE_IDENTIFIER' => 'com.google.firebase.FirebaseFunctions' + } + s.test_spec 'objc' do |objc_tests| objc_tests.platforms = { :ios => ios_deployment_target, diff --git a/FirebaseInAppMessaging.podspec b/FirebaseInAppMessaging.podspec index 827cfc715c..f981df32f3 100644 --- a/FirebaseInAppMessaging.podspec +++ b/FirebaseInAppMessaging.podspec @@ -75,7 +75,8 @@ See more product details at https://firebase.google.com/products/in-app-messagin 'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) ' + 'PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1', - 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"' + 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"', + 'PRODUCT_BUNDLE_IDENTIFIER' => 'com.google.firebase.FirebaseInAppMessaging' } s.framework = 'UIKit' diff --git a/FirebaseInstallations.podspec b/FirebaseInstallations.podspec index 5dfa3655a6..419387543c 100644 --- a/FirebaseInstallations.podspec +++ b/FirebaseInstallations.podspec @@ -54,7 +54,8 @@ Pod::Spec.new do |s| s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'GCC_PREPROCESSOR_DEFINITIONS' => preprocessor_definitions, - 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"' + 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"', + 'PRODUCT_BUNDLE_IDENTIFIER' => 'com.google.firebase.FirebaseInstallations' } s.test_spec 'unit' do |unit_tests| diff --git a/FirebaseMessaging.podspec b/FirebaseMessaging.podspec index 2bb72a875d..e357e9f86b 100644 --- a/FirebaseMessaging.podspec +++ b/FirebaseMessaging.podspec @@ -55,6 +55,7 @@ device, and it is completely free. 'PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1', # Unit tests do library imports using repo-root relative paths. 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"', + 'PRODUCT_BUNDLE_IDENTIFIER' => 'com.google.firebase.FirebaseMessaging' } s.ios.framework = 'SystemConfiguration' s.tvos.framework = 'SystemConfiguration' diff --git a/FirebaseMessagingInterop.podspec b/FirebaseMessagingInterop.podspec index e82393cbeb..8084382b06 100644 --- a/FirebaseMessagingInterop.podspec +++ b/FirebaseMessagingInterop.podspec @@ -27,4 +27,8 @@ Pod::Spec.new do |s| s.source_files = 'FirebaseMessaging/Interop/*.[hm]' s.public_header_files = 'FirebaseMessaging/Interop/*.h' + + s.pod_target_xcconfig = { + 'PRODUCT_BUNDLE_IDENTIFIER' => 'com.google.firebase.FirebaseMessagingInterop' + } end diff --git a/FirebasePerformance.podspec b/FirebasePerformance.podspec index 330fbddae2..83a735e73c 100644 --- a/FirebasePerformance.podspec +++ b/FirebasePerformance.podspec @@ -53,6 +53,7 @@ Firebase Performance library to measure performance of Mobile and Web Apps. 'GCC_PREPROCESSOR_DEFINITIONS' => preprocessor_definitions, # Unit tests do library imports using repo-root relative paths. 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"', + 'PRODUCT_BUNDLE_IDENTIFIER' => 'com.google.firebase.FirebasePerformance' } s.ios.framework = 'CoreTelephony' diff --git a/FirebaseRemoteConfig.podspec b/FirebaseRemoteConfig.podspec index b5d39e9642..d013a19d48 100644 --- a/FirebaseRemoteConfig.podspec +++ b/FirebaseRemoteConfig.podspec @@ -47,7 +47,8 @@ app update. "#{s.module_name}_Privacy" => 'FirebaseRemoteConfig/Swift/Resources/PrivacyInfo.xcprivacy' } s.pod_target_xcconfig = { - 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"' + 'HEADER_SEARCH_PATHS' => '"${PODS_TARGET_SRCROOT}"', + 'PRODUCT_BUNDLE_IDENTIFIER' => 'com.google.firebase.FirebaseRemoteConfig' } s.dependency 'FirebaseABTesting', '~> 13.0.0' s.dependency 'FirebaseSharedSwift', '~> 13.0.0' diff --git a/FirebaseRemoteConfigInterop.podspec b/FirebaseRemoteConfigInterop.podspec index 07fb29a235..f92d28a677 100644 --- a/FirebaseRemoteConfigInterop.podspec +++ b/FirebaseRemoteConfigInterop.podspec @@ -33,4 +33,8 @@ Pod::Spec.new do |s| s.watchos.deployment_target = '8.0' s.source_files = 'FirebaseRemoteConfig/Interop/*.swift' + + s.pod_target_xcconfig = { + 'PRODUCT_BUNDLE_IDENTIFIER' => 'com.google.firebase.FirebaseRemoteConfigInterop' + } end diff --git a/FirebaseSessions.podspec b/FirebaseSessions.podspec index 222192db88..038771e0d3 100644 --- a/FirebaseSessions.podspec +++ b/FirebaseSessions.podspec @@ -53,6 +53,7 @@ Pod::Spec.new do |s| 'GCC_PREPROCESSOR_DEFINITIONS' => # For nanopb: 'PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1', + 'PRODUCT_BUNDLE_IDENTIFIER' => 'com.google.firebase.FirebaseSessions' } s.test_spec 'unit' do |unit_tests| diff --git a/FirebaseSharedSwift.podspec b/FirebaseSharedSwift.podspec index 588d9cd34c..4ae0fc984a 100644 --- a/FirebaseSharedSwift.podspec +++ b/FirebaseSharedSwift.podspec @@ -37,6 +37,10 @@ Firebase products. FirebaseSharedSwift is not supported for non-Firebase usage. 'FirebaseSharedSwift/Sources/**/*.swift', ] + s.pod_target_xcconfig = { + 'PRODUCT_BUNDLE_IDENTIFIER' => 'com.google.firebase.FirebaseSharedSwift' + } + s.test_spec 'unit' do |unit_tests| unit_tests.platforms = { :ios => ios_deployment_target, diff --git a/FirebaseStorage.podspec b/FirebaseStorage.podspec index 7ec03ae8ed..165eda02fd 100644 --- a/FirebaseStorage.podspec +++ b/FirebaseStorage.podspec @@ -44,6 +44,10 @@ Firebase Storage provides robust, secure file uploads and downloads from Firebas s.dependency 'GTMSessionFetcher/Core', '>= 4.0', '< 6.0' s.dependency 'GoogleUtilities/Environment', '>= 8.1.3', '< 9.0' + s.pod_target_xcconfig = { + 'PRODUCT_BUNDLE_IDENTIFIER' => 'com.google.firebase.FirebaseStorage' + } + s.test_spec 'ObjCIntegration' do |objc_tests| objc_tests.scheme = { :code_coverage => true } objc_tests.platforms = {