From dae8fa66882ee4fcd2efbbc5fa0d02a46a3981d5 Mon Sep 17 00:00:00 2001 From: a-maurice Date: Thu, 3 Sep 2026 15:38:05 -0700 Subject: [PATCH 1/4] Migrate the testapps to use SPM from Cocoapods --- .../skills/firebase-cpp-test-runner/SKILL.md | 4 +- analytics/integration_test/Podfile | 21 --- .../project.pbxproj | 43 +++++- analytics/integration_test/readme.md | 16 +-- app/integration_test/Podfile | 15 --- .../project.pbxproj | 28 ++++ app_check/integration_test/Podfile | 28 ---- .../project.pbxproj | 103 ++++++++++++++ auth/integration_test/Podfile | 20 --- .../project.pbxproj | 45 ++++++- database/integration_test/Podfile | 22 --- .../project.pbxproj | 55 ++++++++ database/integration_test/readme.md | 16 +-- firestore/CONTRIBUTING.md | 6 +- firestore/integration_test/Podfile | 22 --- .../project.pbxproj | 63 +++++++-- firestore/integration_test_internal/Podfile | 22 --- .../project.pbxproj | 81 +++++++---- .../prepare_xcworkspace.sh | 7 +- functions/integration_test/Podfile | 24 ---- .../project.pbxproj | 101 +++++++++----- installations/integration_test/Podfile | 17 --- .../project.pbxproj | 36 +++++ messaging/integration_test/Podfile | 22 --- .../project.pbxproj | 127 ++++++++---------- messaging/integration_test/readme.md | 28 ++-- remote_config/integration_test/Podfile | 20 --- .../project.pbxproj | 45 ++++++- scripts/gha/build_testapps.py | 13 +- scripts/update_android_ios_dependencies.py | 90 ++++++++++++- storage/integration_test/Podfile | 22 --- .../project.pbxproj | 61 ++++++++- storage/integration_test/readme.md | 16 +-- ump/integration_test/Podfile | 17 --- .../project.pbxproj | 45 +++++++ 35 files changed, 802 insertions(+), 499 deletions(-) delete mode 100644 analytics/integration_test/Podfile delete mode 100644 app/integration_test/Podfile delete mode 100644 app_check/integration_test/Podfile delete mode 100644 auth/integration_test/Podfile delete mode 100644 database/integration_test/Podfile delete mode 100644 firestore/integration_test/Podfile delete mode 100644 firestore/integration_test_internal/Podfile delete mode 100644 functions/integration_test/Podfile delete mode 100644 installations/integration_test/Podfile delete mode 100644 messaging/integration_test/Podfile delete mode 100644 remote_config/integration_test/Podfile delete mode 100644 storage/integration_test/Podfile delete mode 100644 ump/integration_test/Podfile diff --git a/.agents/skills/firebase-cpp-test-runner/SKILL.md b/.agents/skills/firebase-cpp-test-runner/SKILL.md index 4b8e45aedc..bbb663d3ea 100644 --- a/.agents/skills/firebase-cpp-test-runner/SKILL.md +++ b/.agents/skills/firebase-cpp-test-runner/SKILL.md @@ -47,8 +47,8 @@ To build iOS testapps for a specific product (e.g., `auth`): python3 scripts/gha/build_testapps.py --t auth --p iOS ``` -_Note:_ You must have a Mac environment with Xcode and Cocoapods to build iOS -tests successfully. +_Note:_ You must have a Mac environment with Xcode to build iOS tests +successfully (Swift Package Manager is used for iOS testapp dependencies). ### Building for Desktop diff --git a/analytics/integration_test/Podfile b/analytics/integration_test/Podfile deleted file mode 100644 index 6858f636ac..0000000000 --- a/analytics/integration_test/Podfile +++ /dev/null @@ -1,21 +0,0 @@ -source 'https://github.com/CocoaPods/Specs.git' -platform :ios, '15.0' -# Firebase Analytics test application. -use_frameworks! :linkage => :static - -target 'integration_test' do - platform :ios, '15.0' - pod 'Firebase/Analytics', '12.18.0' -end - -target 'integration_test_tvos' do - platform :tvos, '15.0' - pod 'Firebase/Analytics', '12.18.0' -end - -post_install do |installer| - # If this is running from inside the SDK directory, run the setup script. - system("if [[ -r ../../setup_integration_tests.py ]]; then python3 ../../setup_integration_tests.py .; fi") - system("python3 ./download_googletest.py") -end - diff --git a/analytics/integration_test/integration_test.xcodeproj/project.pbxproj b/analytics/integration_test/integration_test.xcodeproj/project.pbxproj index b7b48a1f42..81c4fa1330 100644 --- a/analytics/integration_test/integration_test.xcodeproj/project.pbxproj +++ b/analytics/integration_test/integration_test.xcodeproj/project.pbxproj @@ -7,6 +7,8 @@ objects = { /* Begin PBXBuildFile section */ + 1A0000012D75000000000001 /* FirebaseAnalytics in Frameworks */ = {isa = PBXBuildFile; productRef = 1A0000022D75000000000001 /* FirebaseAnalytics */; }; + 1A0000012D75000000000002 /* FirebaseAnalytics in Frameworks */ = {isa = PBXBuildFile; productRef = 1A0000022D75000000000002 /* FirebaseAnalytics */; }; 520BC0391C869159008CFBC3 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 520BC0381C869159008CFBC3 /* GoogleService-Info.plist */; }; 529226D61C85F68000C89379 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 529226D51C85F68000C89379 /* Foundation.framework */; }; 529226D81C85F68000C89379 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 529226D71C85F68000C89379 /* CoreGraphics.framework */; }; @@ -38,7 +40,6 @@ /* End PBXBuildFile section */ /* Begin PBXFileReference section */ - 08BEC1E1347C2FECB5DCC35B /* libPods-integration_test.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-integration_test.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 520BC0381C869159008CFBC3 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; 529226D21C85F68000C89379 /* integration_test.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = integration_test.app; sourceTree = BUILT_PRODUCTS_DIR; }; 529226D51C85F68000C89379 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; @@ -51,7 +52,6 @@ BC1D66692668D4AE005DC2DA /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS14.5.sdk/System/Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; }; BC1D666B2668D4B3005DC2DA /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS14.5.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; BC1D666D2668D4BB005DC2DA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS14.5.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - C72064CD0A7906E678F38564 /* libPods-integration_test_tvos.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-integration_test_tvos.a"; sourceTree = BUILT_PRODUCTS_DIR; }; D61C5F8C22BABA9B00A79141 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; D61C5F8D22BABA9C00A79141 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; D61C5F9222BABAD100A79141 /* integration_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = integration_test.cc; path = src/integration_test.cc; sourceTree = ""; }; @@ -77,6 +77,7 @@ 529226D81C85F68000C89379 /* CoreGraphics.framework in Frameworks */, 529226DA1C85F68000C89379 /* UIKit.framework in Frameworks */, 529226D61C85F68000C89379 /* Foundation.framework in Frameworks */, + 1A0000012D75000000000001 /* FirebaseAnalytics in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -87,6 +88,7 @@ BC1D666E2668D4BB005DC2DA /* Foundation.framework in Frameworks */, BC1D666C2668D4B3005DC2DA /* UIKit.framework in Frameworks */, BC1D666A2668D4AE005DC2DA /* CoreGraphics.framework in Frameworks */, + 1A0000012D75000000000002 /* FirebaseAnalytics in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -126,8 +128,6 @@ 529226D71C85F68000C89379 /* CoreGraphics.framework */, 529226D91C85F68000C89379 /* UIKit.framework */, 529226EE1C85F68000C89379 /* XCTest.framework */, - 08BEC1E1347C2FECB5DCC35B /* libPods-integration_test.a */, - C72064CD0A7906E678F38564 /* libPods-integration_test_tvos.a */, ); name = Frameworks; sourceTree = ""; @@ -175,7 +175,6 @@ isa = PBXNativeTarget; buildConfigurationList = 529226F91C85F68000C89379 /* Build configuration list for PBXNativeTarget "integration_test" */; buildPhases = ( - AD3D1FDEE4CF418AF7FD6E76 /* [CP] Check Pods Manifest.lock */, 529226CE1C85F68000C89379 /* Sources */, 529226CF1C85F68000C89379 /* Frameworks */, 529226D01C85F68000C89379 /* Resources */, @@ -185,6 +184,9 @@ dependencies = ( ); name = integration_test; + packageProductDependencies = ( + 1A0000022D75000000000001 /* FirebaseAnalytics */, + ); productName = testapp; productReference = 529226D21C85F68000C89379 /* integration_test.app */; productType = "com.apple.product-type.application"; @@ -193,7 +195,6 @@ isa = PBXNativeTarget; buildConfigurationList = BC1D66612668D10A005DC2DA /* Build configuration list for PBXNativeTarget "integration_test_tvos" */; buildPhases = ( - 8958A3A33BBDC5DD317A123E /* [CP] Check Pods Manifest.lock */, BC1D66482668D109005DC2DA /* Sources */, BC1D66492668D109005DC2DA /* Frameworks */, BC1D664A2668D109005DC2DA /* Resources */, @@ -203,6 +204,9 @@ dependencies = ( ); name = integration_test_tvos; + packageProductDependencies = ( + 1A0000022D75000000000002 /* FirebaseAnalytics */, + ); productName = integration_test_tvos; productReference = BC1D664C2668D109005DC2DA /* integration_test_tvos.app */; productType = "com.apple.product-type.application"; @@ -239,6 +243,9 @@ Base, ); mainGroup = 529226C91C85F68000C89379; + packageReferences = ( + 1A0000032D75000000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */, + ); productRefGroup = 529226D31C85F68000C89379 /* Products */; projectDirPath = ""; projectRoot = ""; @@ -622,6 +629,30 @@ }; /* End XCBuildConfiguration section */ +/* Begin XCRemoteSwiftPackageReference section */ + 1A0000032D75000000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/firebase/firebase-ios-sdk.git"; + requirement = { + kind = exactVersion; + version = 12.18.0; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 1A0000022D75000000000001 /* FirebaseAnalytics */ = { + isa = XCSwiftPackageProductDependency; + package = 1A0000032D75000000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseAnalytics; + }; + 1A0000022D75000000000002 /* FirebaseAnalytics */ = { + isa = XCSwiftPackageProductDependency; + package = 1A0000032D75000000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseAnalytics; + }; +/* End XCSwiftPackageProductDependency section */ + /* Begin XCConfigurationList section */ 529226CD1C85F68000C89379 /* Build configuration list for PBXProject "integration_test" */ = { isa = XCConfigurationList; diff --git a/analytics/integration_test/readme.md b/analytics/integration_test/readme.md index 4083b8edd9..452b1fea92 100644 --- a/analytics/integration_test/readme.md +++ b/analytics/integration_test/readme.md @@ -14,20 +14,16 @@ Building and Running the sample ------------------------------- ### iOS - - Link your iOS app to the Firebase libraries. - - Get CocoaPods version 1 or later by running, + - Set up the test framework and dependencies: + - From the SDK root directory, run the setup script for the integration test: ``` - sudo gem install cocoapods --pre + python3 setup_integration_tests.py analytics/integration_test ``` - - From the sample directory, install the CocoaPods listed in the Podfile - by running, + - Open the Xcode project: ``` - pod install - ``` - - Open the generated Xcode workspace (which now has the CocoaPods), - ``` - open sample.xcworkspace + open integration_test.xcodeproj ``` + Xcode will automatically resolve the required Swift Package dependencies (e.g. `firebase-ios-sdk`). - For further details please refer to the [general instructions for setting up an iOS app with Firebase](https://firebase.google.com/docs/ios/setup). - Register your iOS app with Firebase. diff --git a/app/integration_test/Podfile b/app/integration_test/Podfile deleted file mode 100644 index 2dac6e3fbc..0000000000 --- a/app/integration_test/Podfile +++ /dev/null @@ -1,15 +0,0 @@ -source 'https://github.com/CocoaPods/Specs.git' -platform :ios, '15.0' -# Firebase App test application. -use_frameworks! :linkage => :static - -target 'integration_test' do - pod 'Firebase/Analytics', '12.18.0' -end - -post_install do |installer| - # If this is running from inside the SDK directory, run the setup script. - system("if [[ -r ../../setup_integration_tests.py ]]; then python3 ../../setup_integration_tests.py .; fi") - system("python3 ./download_googletest.py") -end - diff --git a/app/integration_test/integration_test.xcodeproj/project.pbxproj b/app/integration_test/integration_test.xcodeproj/project.pbxproj index ecd3d7ba3a..da6653c4e7 100644 --- a/app/integration_test/integration_test.xcodeproj/project.pbxproj +++ b/app/integration_test/integration_test.xcodeproj/project.pbxproj @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + 1A40472D010000000001 /* FirebaseAnalytics in Frameworks */ = {isa = PBXBuildFile; productRef = 1A40472D020000000001 /* FirebaseAnalytics */; }; 520BC0391C869159008CFBC3 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 520BC0381C869159008CFBC3 /* GoogleService-Info.plist */; }; 529226D61C85F68000C89379 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 529226D51C85F68000C89379 /* Foundation.framework */; }; 529226D81C85F68000C89379 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 529226D71C85F68000C89379 /* CoreGraphics.framework */; }; @@ -55,6 +56,8 @@ 529226D81C85F68000C89379 /* CoreGraphics.framework in Frameworks */, 529226DA1C85F68000C89379 /* UIKit.framework in Frameworks */, 529226D61C85F68000C89379 /* Foundation.framework in Frameworks */, + + 1A40472D010000000001 /* FirebaseAnalytics in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -136,6 +139,9 @@ dependencies = ( ); name = integration_test; + packageProductDependencies = ( + 1A40472D020000000001 /* FirebaseAnalytics */, + ); productName = testapp; productReference = 529226D21C85F68000C89379 /* integration_test.app */; productType = "com.apple.product-type.application"; @@ -166,6 +172,9 @@ en, ); mainGroup = 529226C91C85F68000C89379; + packageReferences = ( + 1A40472D030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */, + ); productRefGroup = 529226D31C85F68000C89379 /* Products */; projectDirPath = ""; projectRoot = ""; @@ -352,6 +361,25 @@ }; /* End XCBuildConfiguration section */ +/* Begin XCRemoteSwiftPackageReference section */ + 1A40472D030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/firebase/firebase-ios-sdk.git"; + requirement = { + kind = exactVersion; + version = 12.18.0; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 1A40472D020000000001 /* FirebaseAnalytics */ = { + isa = XCSwiftPackageProductDependency; + package = 1A40472D030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseAnalytics; + }; +/* End XCSwiftPackageProductDependency section */ + /* Begin XCConfigurationList section */ 529226CD1C85F68000C89379 /* Build configuration list for PBXProject "integration_test" */ = { isa = XCConfigurationList; diff --git a/app_check/integration_test/Podfile b/app_check/integration_test/Podfile deleted file mode 100644 index 18cda86c15..0000000000 --- a/app_check/integration_test/Podfile +++ /dev/null @@ -1,28 +0,0 @@ -source 'https://github.com/CocoaPods/Specs.git' -# Firebase App Check test application. -use_frameworks! :linkage => :static - -target 'integration_test' do - platform :ios, '15.0' - pod 'Firebase/AppCheck', '12.18.0' - pod 'Firebase/Database', '12.18.0' - pod 'Firebase/Auth', '12.18.0' - pod 'Firebase/Storage', '12.18.0' - pod 'Firebase/Functions', '12.18.0' -end - -target 'integration_test_tvos' do - platform :tvos, '15.0' - pod 'Firebase/AppCheck', '12.18.0' - pod 'Firebase/Database', '12.18.0' - pod 'Firebase/Auth', '12.18.0' - pod 'Firebase/Storage', '12.18.0' - pod 'Firebase/Functions', '12.18.0' -end - -post_install do |installer| - # If this is running from inside the SDK directory, run the setup script. - system("if [[ -r ../../setup_integration_tests.py ]]; then python3 ../../setup_integration_tests.py .; fi") - system("python3 ./download_googletest.py") -end - diff --git a/app_check/integration_test/integration_test.xcodeproj/project.pbxproj b/app_check/integration_test/integration_test.xcodeproj/project.pbxproj index d461e3db5c..5b499359ed 100644 --- a/app_check/integration_test/integration_test.xcodeproj/project.pbxproj +++ b/app_check/integration_test/integration_test.xcodeproj/project.pbxproj @@ -7,6 +7,16 @@ objects = { /* Begin PBXBuildFile section */ + 1A9FB3EF010000000001 /* FirebaseAppCheck in Frameworks */ = {isa = PBXBuildFile; productRef = 1A9FB3EF020000000001 /* FirebaseAppCheck */; }; + 1A9FB3EF010000000002 /* FirebaseAuth in Frameworks */ = {isa = PBXBuildFile; productRef = 1A9FB3EF020000000002 /* FirebaseAuth */; }; + 1A9FB3EF010000000003 /* FirebaseDatabase in Frameworks */ = {isa = PBXBuildFile; productRef = 1A9FB3EF020000000003 /* FirebaseDatabase */; }; + 1A9FB3EF010000000004 /* FirebaseFunctions in Frameworks */ = {isa = PBXBuildFile; productRef = 1A9FB3EF020000000004 /* FirebaseFunctions */; }; + 1A9FB3EF010000000005 /* FirebaseStorage in Frameworks */ = {isa = PBXBuildFile; productRef = 1A9FB3EF020000000005 /* FirebaseStorage */; }; + 1A9FB3EF010000000006 /* FirebaseAppCheck in Frameworks */ = {isa = PBXBuildFile; productRef = 1A9FB3EF020000000006 /* FirebaseAppCheck */; }; + 1A9FB3EF010000000007 /* FirebaseAuth in Frameworks */ = {isa = PBXBuildFile; productRef = 1A9FB3EF020000000007 /* FirebaseAuth */; }; + 1A9FB3EF010000000008 /* FirebaseDatabase in Frameworks */ = {isa = PBXBuildFile; productRef = 1A9FB3EF020000000008 /* FirebaseDatabase */; }; + 1A9FB3EF010000000009 /* FirebaseFunctions in Frameworks */ = {isa = PBXBuildFile; productRef = 1A9FB3EF020000000009 /* FirebaseFunctions */; }; + 1A9FB3EF010000000010 /* FirebaseStorage in Frameworks */ = {isa = PBXBuildFile; productRef = 1A9FB3EF020000000010 /* FirebaseStorage */; }; 520BC0391C869159008CFBC3 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 520BC0381C869159008CFBC3 /* GoogleService-Info.plist */; }; 529226D61C85F68000C89379 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 529226D51C85F68000C89379 /* Foundation.framework */; }; 529226D81C85F68000C89379 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 529226D71C85F68000C89379 /* CoreGraphics.framework */; }; @@ -75,6 +85,12 @@ 529226D81C85F68000C89379 /* CoreGraphics.framework in Frameworks */, 529226DA1C85F68000C89379 /* UIKit.framework in Frameworks */, 529226D61C85F68000C89379 /* Foundation.framework in Frameworks */, + + 1A9FB3EF010000000001 /* FirebaseAppCheck in Frameworks */, + 1A9FB3EF010000000002 /* FirebaseAuth in Frameworks */, + 1A9FB3EF010000000003 /* FirebaseDatabase in Frameworks */, + 1A9FB3EF010000000004 /* FirebaseFunctions in Frameworks */, + 1A9FB3EF010000000005 /* FirebaseStorage in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -85,6 +101,12 @@ BCF6A9522682C03700578FDD /* UIKit.framework in Frameworks */, BCF6A9502682C03300578FDD /* CoreGraphics.framework in Frameworks */, BCF6A94E2682C02E00578FDD /* Foundation.framework in Frameworks */, + + 1A9FB3EF010000000006 /* FirebaseAppCheck in Frameworks */, + 1A9FB3EF010000000007 /* FirebaseAuth in Frameworks */, + 1A9FB3EF010000000008 /* FirebaseDatabase in Frameworks */, + 1A9FB3EF010000000009 /* FirebaseFunctions in Frameworks */, + 1A9FB3EF010000000010 /* FirebaseStorage in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -180,6 +202,13 @@ dependencies = ( ); name = integration_test; + packageProductDependencies = ( + 1A9FB3EF020000000001 /* FirebaseAppCheck */, + 1A9FB3EF020000000002 /* FirebaseAuth */, + 1A9FB3EF020000000003 /* FirebaseDatabase */, + 1A9FB3EF020000000004 /* FirebaseFunctions */, + 1A9FB3EF020000000005 /* FirebaseStorage */, + ); productName = testapp; productReference = 529226D21C85F68000C89379 /* integration_test.app */; productType = "com.apple.product-type.application"; @@ -197,6 +226,13 @@ dependencies = ( ); name = integration_test_tvos; + packageProductDependencies = ( + 1A9FB3EF020000000006 /* FirebaseAppCheck */, + 1A9FB3EF020000000007 /* FirebaseAuth */, + 1A9FB3EF020000000008 /* FirebaseDatabase */, + 1A9FB3EF020000000009 /* FirebaseFunctions */, + 1A9FB3EF020000000010 /* FirebaseStorage */, + ); productName = integration_test_tvos; productReference = 9F2ABA26267A4720001A35CE /* integration_test_tvos.app */; productType = "com.apple.product-type.application"; @@ -233,6 +269,9 @@ Base, ); mainGroup = 529226C91C85F68000C89379; + packageReferences = ( + 1A9FB3EF030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */, + ); productRefGroup = 529226D31C85F68000C89379 /* Products */; projectDirPath = ""; projectRoot = ""; @@ -571,6 +610,70 @@ }; /* End XCBuildConfiguration section */ +/* Begin XCRemoteSwiftPackageReference section */ + 1A9FB3EF030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/firebase/firebase-ios-sdk.git"; + requirement = { + kind = exactVersion; + version = 12.18.0; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 1A9FB3EF020000000001 /* FirebaseAppCheck */ = { + isa = XCSwiftPackageProductDependency; + package = 1A9FB3EF030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseAppCheck; + }; + 1A9FB3EF020000000002 /* FirebaseAuth */ = { + isa = XCSwiftPackageProductDependency; + package = 1A9FB3EF030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseAuth; + }; + 1A9FB3EF020000000003 /* FirebaseDatabase */ = { + isa = XCSwiftPackageProductDependency; + package = 1A9FB3EF030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseDatabase; + }; + 1A9FB3EF020000000004 /* FirebaseFunctions */ = { + isa = XCSwiftPackageProductDependency; + package = 1A9FB3EF030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseFunctions; + }; + 1A9FB3EF020000000005 /* FirebaseStorage */ = { + isa = XCSwiftPackageProductDependency; + package = 1A9FB3EF030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseStorage; + }; + 1A9FB3EF020000000006 /* FirebaseAppCheck */ = { + isa = XCSwiftPackageProductDependency; + package = 1A9FB3EF030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseAppCheck; + }; + 1A9FB3EF020000000007 /* FirebaseAuth */ = { + isa = XCSwiftPackageProductDependency; + package = 1A9FB3EF030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseAuth; + }; + 1A9FB3EF020000000008 /* FirebaseDatabase */ = { + isa = XCSwiftPackageProductDependency; + package = 1A9FB3EF030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseDatabase; + }; + 1A9FB3EF020000000009 /* FirebaseFunctions */ = { + isa = XCSwiftPackageProductDependency; + package = 1A9FB3EF030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseFunctions; + }; + 1A9FB3EF020000000010 /* FirebaseStorage */ = { + isa = XCSwiftPackageProductDependency; + package = 1A9FB3EF030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseStorage; + }; +/* End XCSwiftPackageProductDependency section */ + /* Begin XCConfigurationList section */ 529226CD1C85F68000C89379 /* Build configuration list for PBXProject "integration_test" */ = { isa = XCConfigurationList; diff --git a/auth/integration_test/Podfile b/auth/integration_test/Podfile deleted file mode 100644 index d4b4650b20..0000000000 --- a/auth/integration_test/Podfile +++ /dev/null @@ -1,20 +0,0 @@ -source 'https://github.com/CocoaPods/Specs.git' -# Firebase Auth test application. -use_frameworks! :linkage => :static - -target 'integration_test' do - platform :ios, '15.0' - pod 'Firebase/Auth', '12.18.0' -end - -target 'integration_test_tvos' do - platform :tvos, '15.0' - pod 'Firebase/Auth', '12.18.0' -end - -post_install do |installer| - # If this is running from inside the SDK directory, run the setup script. - system("if [[ -r ../../setup_integration_tests.py ]]; then python3 ../../setup_integration_tests.py .; fi") - system("python3 ./download_googletest.py") -end - diff --git a/auth/integration_test/integration_test.xcodeproj/project.pbxproj b/auth/integration_test/integration_test.xcodeproj/project.pbxproj index fee3b799bd..6de8ce589b 100644 --- a/auth/integration_test/integration_test.xcodeproj/project.pbxproj +++ b/auth/integration_test/integration_test.xcodeproj/project.pbxproj @@ -7,6 +7,8 @@ objects = { /* Begin PBXBuildFile section */ + 1AAC794B010000000001 /* FirebaseAuth in Frameworks */ = {isa = PBXBuildFile; productRef = 1AAC794B020000000001 /* FirebaseAuth */; }; + 1AAC794B010000000002 /* FirebaseAuth in Frameworks */ = {isa = PBXBuildFile; productRef = 1AAC794B020000000002 /* FirebaseAuth */; }; 520BC0391C869159008CFBC3 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 520BC0381C869159008CFBC3 /* GoogleService-Info.plist */; }; 529226D61C85F68000C89379 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 529226D51C85F68000C89379 /* Foundation.framework */; }; 529226D81C85F68000C89379 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 529226D71C85F68000C89379 /* CoreGraphics.framework */; }; @@ -52,7 +54,6 @@ /* End PBXBuildRule section */ /* Begin PBXFileReference section */ - 46998791754BF3DDE5D7A20F /* libPods-integration_test.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-integration_test.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 520BC0381C869159008CFBC3 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; 529226D21C85F68000C89379 /* integration_test.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = integration_test.app; sourceTree = BUILT_PRODUCTS_DIR; }; 529226D51C85F68000C89379 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; @@ -81,7 +82,6 @@ D6C179EF22CB32A000C2651A /* app_framework.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = app_framework.cc; path = src/app_framework.cc; sourceTree = ""; }; D6DF8F3C2819C8A400214018 /* empty.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = empty.swift; path = src/empty.swift; sourceTree = ""; }; D6E7D43C22D51D9900EDBD35 /* UserNotifications.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UserNotifications.framework; path = System/Library/Frameworks/UserNotifications.framework; sourceTree = SDKROOT; }; - DE5DF88312698BE99BFA8CD9 /* libPods-integration_test_tvos.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-integration_test_tvos.a"; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -92,6 +92,8 @@ 529226D81C85F68000C89379 /* CoreGraphics.framework in Frameworks */, 529226DA1C85F68000C89379 /* UIKit.framework in Frameworks */, 529226D61C85F68000C89379 /* Foundation.framework in Frameworks */, + + 1AAC794B010000000001 /* FirebaseAuth in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -102,6 +104,8 @@ BCF6A95A2682C2AB00578FDD /* Foundation.framework in Frameworks */, 9F5DD09426697A5F0058C144 /* CoreGraphics.framework in Frameworks */, 9F5DD09226697A170058C144 /* UIKit.framework in Frameworks */, + + 1AAC794B010000000002 /* FirebaseAuth in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -142,8 +146,6 @@ 529226D71C85F68000C89379 /* CoreGraphics.framework */, 529226D91C85F68000C89379 /* UIKit.framework */, 529226EE1C85F68000C89379 /* XCTest.framework */, - 46998791754BF3DDE5D7A20F /* libPods-integration_test.a */, - DE5DF88312698BE99BFA8CD9 /* libPods-integration_test_tvos.a */, ); name = Frameworks; sourceTree = ""; @@ -191,7 +193,6 @@ isa = PBXNativeTarget; buildConfigurationList = 529226F91C85F68000C89379 /* Build configuration list for PBXNativeTarget "integration_test" */; buildPhases = ( - 267D9BF323B254AA726E6787 /* [CP] Check Pods Manifest.lock */, 529226CE1C85F68000C89379 /* Sources */, 529226CF1C85F68000C89379 /* Frameworks */, 529226D01C85F68000C89379 /* Resources */, @@ -201,6 +202,9 @@ dependencies = ( ); name = integration_test; + packageProductDependencies = ( + 1AAC794B020000000001 /* FirebaseAuth */, + ); productName = testapp; productReference = 529226D21C85F68000C89379 /* integration_test.app */; productType = "com.apple.product-type.application"; @@ -209,7 +213,6 @@ isa = PBXNativeTarget; buildConfigurationList = 9F3A0900266978C400E1D69F /* Build configuration list for PBXNativeTarget "integration_test_tvos" */; buildPhases = ( - E0368CAC834A70F7776F7FDB /* [CP] Check Pods Manifest.lock */, 9F3A08E7266978C300E1D69F /* Sources */, 9F3A08E8266978C300E1D69F /* Frameworks */, 9F3A08E9266978C300E1D69F /* Resources */, @@ -220,6 +223,9 @@ dependencies = ( ); name = integration_test_tvos; + packageProductDependencies = ( + 1AAC794B020000000002 /* FirebaseAuth */, + ); productName = integration_test_tvos; productReference = 9F3A08EB266978C300E1D69F /* integration_test_tvos.app */; productType = "com.apple.product-type.application"; @@ -264,6 +270,9 @@ Base, ); mainGroup = 529226C91C85F68000C89379; + packageReferences = ( + 1AAC794B030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */, + ); productRefGroup = 529226D31C85F68000C89379 /* Products */; projectDirPath = ""; projectRoot = ""; @@ -649,6 +658,30 @@ }; /* End XCBuildConfiguration section */ +/* Begin XCRemoteSwiftPackageReference section */ + 1AAC794B030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/firebase/firebase-ios-sdk.git"; + requirement = { + kind = exactVersion; + version = 12.18.0; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 1AAC794B020000000001 /* FirebaseAuth */ = { + isa = XCSwiftPackageProductDependency; + package = 1AAC794B030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseAuth; + }; + 1AAC794B020000000002 /* FirebaseAuth */ = { + isa = XCSwiftPackageProductDependency; + package = 1AAC794B030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseAuth; + }; +/* End XCSwiftPackageProductDependency section */ + /* Begin XCConfigurationList section */ 529226CD1C85F68000C89379 /* Build configuration list for PBXProject "integration_test" */ = { isa = XCConfigurationList; diff --git a/database/integration_test/Podfile b/database/integration_test/Podfile deleted file mode 100644 index 7ffb89d531..0000000000 --- a/database/integration_test/Podfile +++ /dev/null @@ -1,22 +0,0 @@ -source 'https://github.com/CocoaPods/Specs.git' -# Firebase Realtime Database test application. -use_frameworks! :linkage => :static - -target 'integration_test' do - platform :ios, '15.0' - pod 'Firebase/Database', '12.18.0' - pod 'Firebase/Auth', '12.18.0' -end - -target 'integration_test_tvos' do - platform :tvos, '15.0' - pod 'Firebase/Database', '12.18.0' - pod 'Firebase/Auth', '12.18.0' -end - -post_install do |installer| - # If this is running from inside the SDK directory, run the setup script. - system("if [[ -r ../../setup_integration_tests.py ]]; then python3 ../../setup_integration_tests.py .; fi") - system("python3 ./download_googletest.py") -end - diff --git a/database/integration_test/integration_test.xcodeproj/project.pbxproj b/database/integration_test/integration_test.xcodeproj/project.pbxproj index cd97e10c8d..14aaa28c50 100644 --- a/database/integration_test/integration_test.xcodeproj/project.pbxproj +++ b/database/integration_test/integration_test.xcodeproj/project.pbxproj @@ -7,6 +7,10 @@ objects = { /* Begin PBXBuildFile section */ + 1A965EF9010000000001 /* FirebaseDatabase in Frameworks */ = {isa = PBXBuildFile; productRef = 1A965EF9020000000001 /* FirebaseDatabase */; }; + 1A965EF9010000000002 /* FirebaseAuth in Frameworks */ = {isa = PBXBuildFile; productRef = 1A965EF9020000000002 /* FirebaseAuth */; }; + 1A965EF9010000000003 /* FirebaseDatabase in Frameworks */ = {isa = PBXBuildFile; productRef = 1A965EF9020000000003 /* FirebaseDatabase */; }; + 1A965EF9010000000004 /* FirebaseAuth in Frameworks */ = {isa = PBXBuildFile; productRef = 1A965EF9020000000004 /* FirebaseAuth */; }; 520BC0391C869159008CFBC3 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 520BC0381C869159008CFBC3 /* GoogleService-Info.plist */; }; 529226D61C85F68000C89379 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 529226D51C85F68000C89379 /* Foundation.framework */; }; 529226D81C85F68000C89379 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 529226D71C85F68000C89379 /* CoreGraphics.framework */; }; @@ -75,6 +79,9 @@ 529226D81C85F68000C89379 /* CoreGraphics.framework in Frameworks */, 529226DA1C85F68000C89379 /* UIKit.framework in Frameworks */, 529226D61C85F68000C89379 /* Foundation.framework in Frameworks */, + + 1A965EF9010000000001 /* FirebaseDatabase in Frameworks */, + 1A965EF9010000000002 /* FirebaseAuth in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -85,6 +92,9 @@ BCF6A9522682C03700578FDD /* UIKit.framework in Frameworks */, BCF6A9502682C03300578FDD /* CoreGraphics.framework in Frameworks */, BCF6A94E2682C02E00578FDD /* Foundation.framework in Frameworks */, + + 1A965EF9010000000003 /* FirebaseDatabase in Frameworks */, + 1A965EF9010000000004 /* FirebaseAuth in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -180,6 +190,10 @@ dependencies = ( ); name = integration_test; + packageProductDependencies = ( + 1A965EF9020000000001 /* FirebaseDatabase */, + 1A965EF9020000000002 /* FirebaseAuth */, + ); productName = testapp; productReference = 529226D21C85F68000C89379 /* integration_test.app */; productType = "com.apple.product-type.application"; @@ -197,6 +211,10 @@ dependencies = ( ); name = integration_test_tvos; + packageProductDependencies = ( + 1A965EF9020000000003 /* FirebaseDatabase */, + 1A965EF9020000000004 /* FirebaseAuth */, + ); productName = integration_test_tvos; productReference = 9F2ABA26267A4720001A35CE /* integration_test_tvos.app */; productType = "com.apple.product-type.application"; @@ -233,6 +251,9 @@ Base, ); mainGroup = 529226C91C85F68000C89379; + packageReferences = ( + 1A965EF9030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */, + ); productRefGroup = 529226D31C85F68000C89379 /* Products */; projectDirPath = ""; projectRoot = ""; @@ -571,6 +592,40 @@ }; /* End XCBuildConfiguration section */ +/* Begin XCRemoteSwiftPackageReference section */ + 1A965EF9030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/firebase/firebase-ios-sdk.git"; + requirement = { + kind = exactVersion; + version = 12.18.0; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 1A965EF9020000000001 /* FirebaseDatabase */ = { + isa = XCSwiftPackageProductDependency; + package = 1A965EF9030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseDatabase; + }; + 1A965EF9020000000002 /* FirebaseAuth */ = { + isa = XCSwiftPackageProductDependency; + package = 1A965EF9030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseAuth; + }; + 1A965EF9020000000003 /* FirebaseDatabase */ = { + isa = XCSwiftPackageProductDependency; + package = 1A965EF9030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseDatabase; + }; + 1A965EF9020000000004 /* FirebaseAuth */ = { + isa = XCSwiftPackageProductDependency; + package = 1A965EF9030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseAuth; + }; +/* End XCSwiftPackageProductDependency section */ + /* Begin XCConfigurationList section */ 529226CD1C85F68000C89379 /* Build configuration list for PBXProject "integration_test" */ = { isa = XCConfigurationList; diff --git a/database/integration_test/readme.md b/database/integration_test/readme.md index 6b9efa6fcd..baf305324d 100644 --- a/database/integration_test/readme.md +++ b/database/integration_test/readme.md @@ -37,20 +37,16 @@ Building and Running the integration test ----------------------------------------- ### iOS - - Link your iOS app to the Firebase libraries. - - Get CocoaPods version 1 or later by running, + - Set up the test framework and dependencies: + - From the SDK root directory, run the setup script for the integration test: ``` - sudo gem install cocoapods --pre + python3 setup_integration_tests.py database/integration_test ``` - - From the integration_tests/storage directory, install the CocoaPods listed - in the Podfile by running, + - Open the Xcode project: ``` - pod install - ``` - - Open the generated Xcode workspace (which now has the CocoaPods), - ``` - open integration_test.xcworkspace + open integration_test.xcodeproj ``` + Xcode will automatically resolve the required Swift Package dependencies (e.g. `firebase-ios-sdk`). - For further details please refer to the [general instructions for setting up an iOS app with Firebase](https://firebase.google.com/docs/ios/setup). - Register your iOS app with Firebase. diff --git a/firestore/CONTRIBUTING.md b/firestore/CONTRIBUTING.md index d7ad3455ea..4f9856a511 100644 --- a/firestore/CONTRIBUTING.md +++ b/firestore/CONTRIBUTING.md @@ -132,11 +132,11 @@ listed in this file, and add the C++ headers from the downloaded pods to include To build Firestore for iOS/tvOS: ```shell -# Build xcframeworks from this REPO, install pod dependencies and prepare xcworkspace +# Build xcframeworks from this REPO and prepare the Xcode project ./prepare_xcworkspace.sh -# Open up the workspace -open integration_test.xcworkspace +# Open up the Xcode project +open integration_test.xcodeproj ``` NOTE: `prepare_xcworkspace.sh` changes `integration_test.xcodeproj/project.pbxproj`, to add the diff --git a/firestore/integration_test/Podfile b/firestore/integration_test/Podfile deleted file mode 100644 index 041d168caa..0000000000 --- a/firestore/integration_test/Podfile +++ /dev/null @@ -1,22 +0,0 @@ -source 'https://github.com/CocoaPods/Specs.git' -# Cloud Firestore test application. -use_frameworks! :linkage => :static - -target 'integration_test' do - platform :ios, '15.0' - pod 'Firebase/Firestore', '12.18.0' - pod 'Firebase/Auth', '12.18.0' -end - -target 'integration_test_tvos' do - platform :tvos, '15.0' - pod 'FirebaseFirestore', '12.18.0' - pod 'Firebase/Auth', '12.18.0' -end - -post_install do |installer| - # If this is running from inside the SDK directory, run the setup script. - system("if [[ -r ../../setup_integration_tests.py ]]; then python3 ../../setup_integration_tests.py .; fi") - system("python3 ./download_googletest.py") -end - diff --git a/firestore/integration_test/integration_test.xcodeproj/project.pbxproj b/firestore/integration_test/integration_test.xcodeproj/project.pbxproj index d012e8557a..823f95f4cb 100644 --- a/firestore/integration_test/integration_test.xcodeproj/project.pbxproj +++ b/firestore/integration_test/integration_test.xcodeproj/project.pbxproj @@ -7,6 +7,10 @@ objects = { /* Begin PBXBuildFile section */ + 1AD4E8BB010000000001 /* FirebaseFirestore in Frameworks */ = {isa = PBXBuildFile; productRef = 1AD4E8BB020000000001 /* FirebaseFirestore */; }; + 1AD4E8BB010000000002 /* FirebaseAuth in Frameworks */ = {isa = PBXBuildFile; productRef = 1AD4E8BB020000000002 /* FirebaseAuth */; }; + 1AD4E8BB010000000003 /* FirebaseFirestore in Frameworks */ = {isa = PBXBuildFile; productRef = 1AD4E8BB020000000003 /* FirebaseFirestore */; }; + 1AD4E8BB010000000004 /* FirebaseAuth in Frameworks */ = {isa = PBXBuildFile; productRef = 1AD4E8BB020000000004 /* FirebaseAuth */; }; 520BC0391C869159008CFBC3 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 520BC0381C869159008CFBC3 /* GoogleService-Info.plist */; }; 529226D61C85F68000C89379 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 529226D51C85F68000C89379 /* Foundation.framework */; }; 529226D81C85F68000C89379 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 529226D71C85F68000C89379 /* CoreGraphics.framework */; }; @@ -38,7 +42,6 @@ /* End PBXBuildFile section */ /* Begin PBXFileReference section */ - 2F6E59CEC74C199ECF8BB8BF /* libPods-integration_test.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-integration_test.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 520BC0381C869159008CFBC3 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; 529226D21C85F68000C89379 /* integration_test.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = integration_test.app; sourceTree = BUILT_PRODUCTS_DIR; }; 529226D51C85F68000C89379 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; @@ -54,7 +57,6 @@ BC1D679D2679A02C005DC2DA /* firebase_auth.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = firebase_auth.xcframework; path = "../../../../firebase-cpp-sdk/ios_tvos_package/xcframeworks/firebase_auth.xcframework"; sourceTree = ""; }; BC1D679E2679A02C005DC2DA /* firebase.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = firebase.xcframework; path = "../../../../firebase-cpp-sdk/ios_tvos_package/xcframeworks/firebase.xcframework"; sourceTree = ""; }; BC1D679F2679A02C005DC2DA /* firebase_firestore.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = firebase_firestore.xcframework; path = "../../../../firebase-cpp-sdk/ios_tvos_package/xcframeworks/firebase_firestore.xcframework"; sourceTree = ""; }; - D17A5C9BB550486279CA858E /* libPods-integration_test_tvos.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-integration_test_tvos.a"; sourceTree = BUILT_PRODUCTS_DIR; }; D61C5F8C22BABA9B00A79141 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; D61C5F8D22BABA9C00A79141 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; D61C5F9222BABAD100A79141 /* integration_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = integration_test.cc; path = src/integration_test.cc; sourceTree = ""; }; @@ -80,6 +82,9 @@ 529226D81C85F68000C89379 /* CoreGraphics.framework in Frameworks */, 529226DA1C85F68000C89379 /* UIKit.framework in Frameworks */, 529226D61C85F68000C89379 /* Foundation.framework in Frameworks */, + + 1AD4E8BB010000000001 /* FirebaseFirestore in Frameworks */, + 1AD4E8BB010000000002 /* FirebaseAuth in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -90,6 +95,9 @@ BC1D679C2679A017005DC2DA /* CoreGraphics.framework in Frameworks */, BC1D679A2679A012005DC2DA /* UIKit.framework in Frameworks */, BC1D67982679A00B005DC2DA /* Foundation.framework in Frameworks */, + + 1AD4E8BB010000000003 /* FirebaseFirestore in Frameworks */, + 1AD4E8BB010000000004 /* FirebaseAuth in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -132,8 +140,6 @@ 529226D71C85F68000C89379 /* CoreGraphics.framework */, 529226D91C85F68000C89379 /* UIKit.framework */, 529226EE1C85F68000C89379 /* XCTest.framework */, - 2F6E59CEC74C199ECF8BB8BF /* libPods-integration_test.a */, - D17A5C9BB550486279CA858E /* libPods-integration_test_tvos.a */, ); name = Frameworks; sourceTree = ""; @@ -181,17 +187,19 @@ isa = PBXNativeTarget; buildConfigurationList = 529226F91C85F68000C89379 /* Build configuration list for PBXNativeTarget "integration_test" */; buildPhases = ( - 98E7EA14293AC58D0BAD9DF7 /* [CP] Check Pods Manifest.lock */, 529226CE1C85F68000C89379 /* Sources */, 529226CF1C85F68000C89379 /* Frameworks */, 529226D01C85F68000C89379 /* Resources */, - 1C96465955A39E4476F3DC69 /* [CP] Copy Pods Resources */, ); buildRules = ( ); dependencies = ( ); name = integration_test; + packageProductDependencies = ( + 1AD4E8BB020000000001 /* FirebaseFirestore */, + 1AD4E8BB020000000002 /* FirebaseAuth */, + ); productName = testapp; productReference = 529226D21C85F68000C89379 /* integration_test.app */; productType = "com.apple.product-type.application"; @@ -200,17 +208,19 @@ isa = PBXNativeTarget; buildConfigurationList = BC1D678E26799F8D005DC2DA /* Build configuration list for PBXNativeTarget "integration_test_tvos" */; buildPhases = ( - C7DE8E1609012C3C69772636 /* [CP] Check Pods Manifest.lock */, BC1D677526799F8C005DC2DA /* Sources */, BC1D677626799F8C005DC2DA /* Frameworks */, BC1D677726799F8C005DC2DA /* Resources */, - 29D3313A9EA06B2C7A2CAB95 /* [CP] Copy Pods Resources */, ); buildRules = ( ); dependencies = ( ); name = integration_test_tvos; + packageProductDependencies = ( + 1AD4E8BB020000000003 /* FirebaseFirestore */, + 1AD4E8BB020000000004 /* FirebaseAuth */, + ); productName = integration_test_tvos; productReference = BC1D677926799F8C005DC2DA /* integration_test_tvos.app */; productType = "com.apple.product-type.application"; @@ -246,6 +256,9 @@ Base, ); mainGroup = 529226C91C85F68000C89379; + packageReferences = ( + 1AD4E8BB030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */, + ); productRefGroup = 529226D31C85F68000C89379 /* Products */; projectDirPath = ""; projectRoot = ""; @@ -673,6 +686,40 @@ }; /* End XCBuildConfiguration section */ +/* Begin XCRemoteSwiftPackageReference section */ + 1AD4E8BB030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/firebase/firebase-ios-sdk.git"; + requirement = { + kind = exactVersion; + version = 12.18.0; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 1AD4E8BB020000000001 /* FirebaseFirestore */ = { + isa = XCSwiftPackageProductDependency; + package = 1AD4E8BB030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseFirestore; + }; + 1AD4E8BB020000000002 /* FirebaseAuth */ = { + isa = XCSwiftPackageProductDependency; + package = 1AD4E8BB030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseAuth; + }; + 1AD4E8BB020000000003 /* FirebaseFirestore */ = { + isa = XCSwiftPackageProductDependency; + package = 1AD4E8BB030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseFirestore; + }; + 1AD4E8BB020000000004 /* FirebaseAuth */ = { + isa = XCSwiftPackageProductDependency; + package = 1AD4E8BB030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseAuth; + }; +/* End XCSwiftPackageProductDependency section */ + /* Begin XCConfigurationList section */ 529226CD1C85F68000C89379 /* Build configuration list for PBXProject "integration_test" */ = { isa = XCConfigurationList; diff --git a/firestore/integration_test_internal/Podfile b/firestore/integration_test_internal/Podfile deleted file mode 100644 index 4613172c5d..0000000000 --- a/firestore/integration_test_internal/Podfile +++ /dev/null @@ -1,22 +0,0 @@ -source 'https://github.com/CocoaPods/Specs.git' -# Cloud Firestore internal test application. -use_frameworks! :linkage => :static - -target 'integration_test' do - platform :ios, '15.0' - pod 'Firebase/Firestore', '12.18.0' - pod 'Firebase/Auth', '12.18.0' -end - -target 'integration_test_tvos' do - platform :tvos, '15.0' - pod 'FirebaseFirestore', '12.18.0' - pod 'Firebase/Auth', '12.18.0' -end - -post_install do |installer| - # If this is running from inside the SDK directory, run the setup script. - system("if [[ -r ../../setup_integration_tests.py ]]; then python3 ../../setup_integration_tests.py .; fi") - system("python3 ./download_googletest.py") -end - diff --git a/firestore/integration_test_internal/integration_test.xcodeproj/project.pbxproj b/firestore/integration_test_internal/integration_test.xcodeproj/project.pbxproj index 67c4326e90..84c69b8002 100644 --- a/firestore/integration_test_internal/integration_test.xcodeproj/project.pbxproj +++ b/firestore/integration_test_internal/integration_test.xcodeproj/project.pbxproj @@ -7,6 +7,10 @@ objects = { /* Begin PBXBuildFile section */ + 1A351229010000000001 /* FirebaseFirestore in Frameworks */ = {isa = PBXBuildFile; productRef = 1A351229020000000001 /* FirebaseFirestore */; }; + 1A351229010000000002 /* FirebaseAuth in Frameworks */ = {isa = PBXBuildFile; productRef = 1A351229020000000002 /* FirebaseAuth */; }; + 1A351229010000000003 /* FirebaseFirestore in Frameworks */ = {isa = PBXBuildFile; productRef = 1A351229020000000003 /* FirebaseFirestore */; }; + 1A351229010000000004 /* FirebaseAuth in Frameworks */ = {isa = PBXBuildFile; productRef = 1A351229020000000004 /* FirebaseAuth */; }; 12CCF1D928FDBC6A00C24941 /* locate_emulator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 12CCF1D828FDBC6A00C24941 /* locate_emulator.cc */; }; 12CCF1DA28FDBC6A00C24941 /* locate_emulator.cc in Sources */ = {isa = PBXBuildFile; fileRef = 12CCF1D828FDBC6A00C24941 /* locate_emulator.cc */; }; 12CCF1E028FDBD9F00C24941 /* settings_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 12CCF1DB28FDBD9E00C24941 /* settings_test.cc */; }; @@ -130,12 +134,10 @@ 12D513132684C8C200A83FAA /* bundle_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = bundle_test.cc; path = src/bundle_test.cc; sourceTree = ""; }; 12D513182684C8D100A83FAA /* bundle_builder.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = bundle_builder.cc; path = src/util/bundle_builder.cc; sourceTree = ""; }; 12D513192684C8D100A83FAA /* bundle_builder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = bundle_builder.h; path = src/util/bundle_builder.h; sourceTree = ""; }; - 1B3D64B35A22073C76B376D5 /* libPods-integration_test_tvos.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-integration_test_tvos.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 1BAFACA02A449C2B00834979 /* aggregate_query_snapshot_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = aggregate_query_snapshot_test.cc; path = src/aggregate_query_snapshot_test.cc; sourceTree = ""; }; 1BAFACA12A449C2B00834979 /* aggregate_count_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = aggregate_count_test.cc; path = src/aggregate_count_test.cc; sourceTree = ""; }; 1BAFACA22A449C2B00834979 /* aggregate_query_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = aggregate_query_test.cc; path = src/aggregate_query_test.cc; sourceTree = ""; }; 1BAFACA92A449CBD00834979 /* filter_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = filter_test.cc; path = src/filter_test.cc; sourceTree = ""; }; - 3DE393E827F88B06CD3C39CD /* Pods-integration_test_tvos.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-integration_test_tvos.release.xcconfig"; path = "Target Support Files/Pods-integration_test_tvos/Pods-integration_test_tvos.release.xcconfig"; sourceTree = ""; }; 4AAFA3E3DA9641C2E3C46C9D /* Pods_integration_test.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_integration_test.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 520BC0381C869159008CFBC3 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; 529226D21C85F68000C89379 /* integration_test.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = integration_test.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -143,11 +145,9 @@ 529226D71C85F68000C89379 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; 529226D91C85F68000C89379 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; 529226EE1C85F68000C89379 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; - 5FB592CD6A6DDFBF795F22C1 /* Pods-integration_test.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-integration_test.release.xcconfig"; path = "Target Support Files/Pods-integration_test/Pods-integration_test.release.xcconfig"; sourceTree = ""; }; 6C04D181B10689799EE4823D /* firebase.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = firebase.framework; path = Frameworks/firebase.framework; sourceTree = ""; }; 6F2D5AB4DBDD804A38B51636 /* firebase_auth.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = firebase_auth.framework; path = Frameworks/firebase_auth.framework; sourceTree = ""; }; 8C4AC9C038C468519B583C7C /* firebase_auth.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = firebase_auth.framework; path = Frameworks/firebase_auth.framework; sourceTree = ""; }; - AA66DDF2F9BB2D8480FAB9BD /* Pods-integration_test.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-integration_test.debug.xcconfig"; path = "Target Support Files/Pods-integration_test/Pods-integration_test.debug.xcconfig"; sourceTree = ""; }; B7F45B5446094E107E88721A /* firebase_firestore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = firebase_firestore.framework; path = Frameworks/firebase_firestore.framework; sourceTree = ""; }; BC1D6822267B0030005DC2DA /* integration_test_tvos.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = integration_test_tvos.app; sourceTree = BUILT_PRODUCTS_DIR; }; BC1D682B267B0030005DC2DA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; @@ -202,7 +202,6 @@ EAFAF9474EC412ADCC65F2CC /* firebase_firestore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = firebase_firestore.framework; path = Frameworks/firebase_firestore.framework; sourceTree = ""; }; ED39362628657B740050FE2B /* transaction_options_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = transaction_options_test.cc; path = src/transaction_options_test.cc; sourceTree = ""; }; EDEEC7622800CD0000EFBAAF /* leveldb_snappy_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = leveldb_snappy_test.cc; path = src/leveldb_snappy_test.cc; sourceTree = ""; }; - F64F2CE3EB5EF07EA247CB71 /* Pods-integration_test_tvos.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-integration_test_tvos.debug.xcconfig"; path = "Target Support Files/Pods-integration_test_tvos/Pods-integration_test_tvos.debug.xcconfig"; sourceTree = ""; }; FD4B0A86D9AE5E39F1D9139D /* Pods_integration_test_tvos.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_integration_test_tvos.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -220,6 +219,9 @@ 6013D96CC99BE0D747E924BF /* firebase_auth.framework in Frameworks */, 5270BB448DF5ECE860FDD68B /* firebase_firestore.framework in Frameworks */, 86F6FDA3AA46B8DBA710380D /* Pods_integration_test.framework in Frameworks */, + + 1A351229010000000001 /* FirebaseFirestore in Frameworks */, + 1A351229010000000002 /* FirebaseAuth in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -231,23 +233,15 @@ BC1D685C267B0112005DC2DA /* UIKit.framework in Frameworks */, BC1D685A267B010D005DC2DA /* Foundation.framework in Frameworks */, 7DDCFC4B946EA9D8EB8FBDF2 /* Pods_integration_test_tvos.framework in Frameworks */, + + 1A351229010000000003 /* FirebaseFirestore in Frameworks */, + 1A351229010000000004 /* FirebaseAuth in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 241B330D425A3B220F54AE8D /* Pods */ = { - isa = PBXGroup; - children = ( - AA66DDF2F9BB2D8480FAB9BD /* Pods-integration_test.debug.xcconfig */, - 5FB592CD6A6DDFBF795F22C1 /* Pods-integration_test.release.xcconfig */, - 3DE393E827F88B06CD3C39CD /* Pods-integration_test_tvos.release.xcconfig */, - F64F2CE3EB5EF07EA247CB71 /* Pods-integration_test_tvos.debug.xcconfig */, - ); - path = Pods; - sourceTree = ""; - }; 529226C91C85F68000C89379 = { isa = PBXGroup; children = ( @@ -259,7 +253,6 @@ BC1D6823267B0030005DC2DA /* integration_test_tvos */, 529226D41C85F68000C89379 /* Frameworks */, 529226D31C85F68000C89379 /* Products */, - 241B330D425A3B220F54AE8D /* Pods */, D60C58852819C8F0002E8A04 /* Recovered References */, ); sourceTree = ""; @@ -283,7 +276,6 @@ 529226D71C85F68000C89379 /* CoreGraphics.framework */, 529226D91C85F68000C89379 /* UIKit.framework */, 529226EE1C85F68000C89379 /* XCTest.framework */, - 1B3D64B35A22073C76B376D5 /* libPods-integration_test_tvos.a */, 4AAFA3E3DA9641C2E3C46C9D /* Pods_integration_test.framework */, FD4B0A86D9AE5E39F1D9139D /* Pods_integration_test_tvos.framework */, ); @@ -389,17 +381,19 @@ isa = PBXNativeTarget; buildConfigurationList = 529226F91C85F68000C89379 /* Build configuration list for PBXNativeTarget "integration_test" */; buildPhases = ( - D0F609B857F394F4380A7F47 /* [CP] Check Pods Manifest.lock */, 529226CE1C85F68000C89379 /* Sources */, 529226CF1C85F68000C89379 /* Frameworks */, 529226D01C85F68000C89379 /* Resources */, - 9F70D44D33C0014531523672 /* [CP] Copy Pods Resources */, ); buildRules = ( ); dependencies = ( ); name = integration_test; + packageProductDependencies = ( + 1A351229020000000001 /* FirebaseFirestore */, + 1A351229020000000002 /* FirebaseAuth */, + ); productName = testapp; productReference = 529226D21C85F68000C89379 /* integration_test.app */; productType = "com.apple.product-type.application"; @@ -408,17 +402,19 @@ isa = PBXNativeTarget; buildConfigurationList = BC1D6835267B0032005DC2DA /* Build configuration list for PBXNativeTarget "integration_test_tvos" */; buildPhases = ( - 885207C8AFF3010751D8174F /* [CP] Check Pods Manifest.lock */, BC1D681E267B0030005DC2DA /* Sources */, BC1D681F267B0030005DC2DA /* Frameworks */, BC1D6820267B0030005DC2DA /* Resources */, - DE1A8C260E5ED2A1DB7CC213 /* [CP] Copy Pods Resources */, ); buildRules = ( ); dependencies = ( ); name = integration_test_tvos; + packageProductDependencies = ( + 1A351229020000000003 /* FirebaseFirestore */, + 1A351229020000000004 /* FirebaseAuth */, + ); productName = integration_test_tvos; productReference = BC1D6822267B0030005DC2DA /* integration_test_tvos.app */; productType = "com.apple.product-type.application"; @@ -455,6 +451,9 @@ Base, ); mainGroup = 529226C91C85F68000C89379; + packageReferences = ( + 1A351229030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */, + ); productRefGroup = 529226D31C85F68000C89379 /* Products */; projectDirPath = ""; projectRoot = ""; @@ -782,7 +781,6 @@ }; 529226FA1C85F68000C89379 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AA66DDF2F9BB2D8480FAB9BD /* Pods-integration_test.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; @@ -832,7 +830,6 @@ }; 529226FB1C85F68000C89379 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5FB592CD6A6DDFBF795F22C1 /* Pods-integration_test.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; @@ -881,7 +878,6 @@ }; BC1D6836267B0032005DC2DA /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = F64F2CE3EB5EF07EA247CB71 /* Pods-integration_test_tvos.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; @@ -954,7 +950,6 @@ }; BC1D6837267B0032005DC2DA /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3DE393E827F88B06CD3C39CD /* Pods-integration_test_tvos.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; @@ -1024,6 +1019,40 @@ }; /* End XCBuildConfiguration section */ +/* Begin XCRemoteSwiftPackageReference section */ + 1A351229030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/firebase/firebase-ios-sdk.git"; + requirement = { + kind = exactVersion; + version = 12.18.0; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 1A351229020000000001 /* FirebaseFirestore */ = { + isa = XCSwiftPackageProductDependency; + package = 1A351229030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseFirestore; + }; + 1A351229020000000002 /* FirebaseAuth */ = { + isa = XCSwiftPackageProductDependency; + package = 1A351229030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseAuth; + }; + 1A351229020000000003 /* FirebaseFirestore */ = { + isa = XCSwiftPackageProductDependency; + package = 1A351229030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseFirestore; + }; + 1A351229020000000004 /* FirebaseAuth */ = { + isa = XCSwiftPackageProductDependency; + package = 1A351229030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseAuth; + }; +/* End XCSwiftPackageProductDependency section */ + /* Begin XCConfigurationList section */ 529226CD1C85F68000C89379 /* Build configuration list for PBXProject "integration_test" */ = { isa = XCConfigurationList; diff --git a/firestore/integration_test_internal/prepare_xcworkspace.sh b/firestore/integration_test_internal/prepare_xcworkspace.sh index 569486f5e1..63751e216f 100755 --- a/firestore/integration_test_internal/prepare_xcworkspace.sh +++ b/firestore/integration_test_internal/prepare_xcworkspace.sh @@ -33,7 +33,6 @@ SDKROOT=$(readlink -f "$SCRIPTPATH/../../") RUBY=`which ruby` PYTHON=`which python3` -POD=`which pod` # Clean up build directory, incremental builds not supported yet. rm -rf $BUILDDIR @@ -42,10 +41,10 @@ rm -rf $BUILDDIR cd $SDKROOT $PYTHON $SDKROOT/scripts/gha/build_ios_tvos.py -t firebase_auth firebase_firestore -b $BUILDDIR -# Install the underlying Firestore C++ Core SDK from cocoapods and build the integration test -# xcode workspace. +# Set up GoogleTest and test framework files cd $SCRIPTPATH -$POD install +$PYTHON $SDKROOT/testing/test_framework/download_googletest.py +$PYTHON $SDKROOT/setup_integration_tests.py $SCRIPTPATH # Add built xcframework from `build_ios_tvos.py` to ios tests $RUBY $SDKROOT/scripts/gha/integration_testing/xcode_tool.rb --XCodeCPP.xcodeProjectDir . --XCodeCPP.target integration_test --XCodeCPP.frameworks ./ios_tvos_build/xcframeworks/firebase.xcframework,./ios_tvos_build/xcframeworks/firebase_firestore.xcframework,./ios_tvos_build/xcframeworks/firebase_auth.xcframework diff --git a/functions/integration_test/Podfile b/functions/integration_test/Podfile deleted file mode 100644 index 9f63827025..0000000000 --- a/functions/integration_test/Podfile +++ /dev/null @@ -1,24 +0,0 @@ -source 'https://github.com/CocoaPods/Specs.git' -# Cloud Functions for Firebase test application. -use_frameworks! :linkage => :static - -target 'integration_test' do - platform :ios, '15.0' - pod 'Firebase/AppCheck', '12.18.0' - pod 'Firebase/Functions', '12.18.0' - pod 'Firebase/Auth', '12.18.0' -end - -target 'integration_test_tvos' do - platform :tvos, '15.0' - pod 'Firebase/AppCheck', '12.18.0' - pod 'Firebase/Functions', '12.18.0' - pod 'Firebase/Auth', '12.18.0' -end - -post_install do |installer| - # If this is running from inside the SDK directory, run the setup script. - system("if [[ -r ../../setup_integration_tests.py ]]; then python3 ../../setup_integration_tests.py .; fi") - system("python3 ./download_googletest.py") -end - diff --git a/functions/integration_test/integration_test.xcodeproj/project.pbxproj b/functions/integration_test/integration_test.xcodeproj/project.pbxproj index aea4f280ed..7c2f1a955d 100644 --- a/functions/integration_test/integration_test.xcodeproj/project.pbxproj +++ b/functions/integration_test/integration_test.xcodeproj/project.pbxproj @@ -7,12 +7,16 @@ objects = { /* Begin PBXBuildFile section */ - 277E62B375B47BB7CD0D4E62 /* libPods-integration_test_tvos.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D9F70D4C409428D66F5C43C /* libPods-integration_test_tvos.a */; }; + 1A1F4F7D010000000001 /* FirebaseFunctions in Frameworks */ = {isa = PBXBuildFile; productRef = 1A1F4F7D020000000001 /* FirebaseFunctions */; }; + 1A1F4F7D010000000002 /* FirebaseAuth in Frameworks */ = {isa = PBXBuildFile; productRef = 1A1F4F7D020000000002 /* FirebaseAuth */; }; + 1A1F4F7D010000000003 /* FirebaseAppCheck in Frameworks */ = {isa = PBXBuildFile; productRef = 1A1F4F7D020000000003 /* FirebaseAppCheck */; }; + 1A1F4F7D010000000004 /* FirebaseFunctions in Frameworks */ = {isa = PBXBuildFile; productRef = 1A1F4F7D020000000004 /* FirebaseFunctions */; }; + 1A1F4F7D010000000005 /* FirebaseAuth in Frameworks */ = {isa = PBXBuildFile; productRef = 1A1F4F7D020000000005 /* FirebaseAuth */; }; + 1A1F4F7D010000000006 /* FirebaseAppCheck in Frameworks */ = {isa = PBXBuildFile; productRef = 1A1F4F7D020000000006 /* FirebaseAppCheck */; }; 520BC0391C869159008CFBC3 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 520BC0381C869159008CFBC3 /* GoogleService-Info.plist */; }; 529226D61C85F68000C89379 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 529226D51C85F68000C89379 /* Foundation.framework */; }; 529226D81C85F68000C89379 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 529226D71C85F68000C89379 /* CoreGraphics.framework */; }; 529226DA1C85F68000C89379 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 529226D91C85F68000C89379 /* UIKit.framework */; }; - 981D7B79193F1EDB1C9EF318 /* libPods-integration_test.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AAB44827137900B6A0CA149C /* libPods-integration_test.a */; }; BC1D674F26799A44005DC2DA /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BC1D674D26799A44005DC2DA /* Main.storyboard */; }; BC1D675426799A45005DC2DA /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BC1D675226799A45005DC2DA /* LaunchScreen.storyboard */; }; BC1D675B26799A53005DC2DA /* ios_firebase_test_framework.mm in Sources */ = {isa = PBXBuildFile; fileRef = D6C179E822CB322900C2651A /* ios_firebase_test_framework.mm */; }; @@ -40,16 +44,12 @@ /* End PBXBuildFile section */ /* Begin PBXFileReference section */ - 22934B574D2479C75CC4D751 /* Pods-integration_test_tvos.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-integration_test_tvos.release.xcconfig"; path = "Target Support Files/Pods-integration_test_tvos/Pods-integration_test_tvos.release.xcconfig"; sourceTree = ""; }; - 4D9F70D4C409428D66F5C43C /* libPods-integration_test_tvos.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-integration_test_tvos.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 520BC0381C869159008CFBC3 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; 529226D21C85F68000C89379 /* integration_test.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = integration_test.app; sourceTree = BUILT_PRODUCTS_DIR; }; 529226D51C85F68000C89379 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 529226D71C85F68000C89379 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; 529226D91C85F68000C89379 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; 529226EE1C85F68000C89379 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; - 8675F0B26689AA876629E125 /* Pods-integration_test.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-integration_test.debug.xcconfig"; path = "Target Support Files/Pods-integration_test/Pods-integration_test.debug.xcconfig"; sourceTree = ""; }; - AAB44827137900B6A0CA149C /* libPods-integration_test.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-integration_test.a"; sourceTree = BUILT_PRODUCTS_DIR; }; BC1D674526799A44005DC2DA /* integration_test_tvos.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = integration_test_tvos.app; sourceTree = BUILT_PRODUCTS_DIR; }; BC1D674E26799A44005DC2DA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; BC1D675326799A45005DC2DA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; @@ -74,8 +74,6 @@ D6C179EC22CB323300C2651A /* firebase_test_framework.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = firebase_test_framework.cc; path = src/firebase_test_framework.cc; sourceTree = ""; }; D6C179ED22CB323300C2651A /* app_framework.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = app_framework.h; path = src/app_framework.h; sourceTree = ""; }; D6C179EF22CB32A000C2651A /* app_framework.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = app_framework.cc; path = src/app_framework.cc; sourceTree = ""; }; - DC1961DDB894F0DB5BE0D891 /* Pods-integration_test_tvos.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-integration_test_tvos.debug.xcconfig"; path = "Target Support Files/Pods-integration_test_tvos/Pods-integration_test_tvos.debug.xcconfig"; sourceTree = ""; }; - E30FEEB78B34075EC944F51F /* Pods-integration_test.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-integration_test.release.xcconfig"; path = "Target Support Files/Pods-integration_test/Pods-integration_test.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -86,7 +84,10 @@ 529226D81C85F68000C89379 /* CoreGraphics.framework in Frameworks */, 529226DA1C85F68000C89379 /* UIKit.framework in Frameworks */, 529226D61C85F68000C89379 /* Foundation.framework in Frameworks */, - 981D7B79193F1EDB1C9EF318 /* libPods-integration_test.a in Frameworks */, + + 1A1F4F7D010000000001 /* FirebaseFunctions in Frameworks */, + 1A1F4F7D010000000002 /* FirebaseAuth in Frameworks */, + 1A1F4F7D010000000003 /* FirebaseAppCheck in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -97,24 +98,16 @@ BC1D677126799B4D005DC2DA /* CoreGraphics.framework in Frameworks */, BC1D677026799B48005DC2DA /* UIKit.framework in Frameworks */, BC1D676F26799B42005DC2DA /* Foundation.framework in Frameworks */, - 277E62B375B47BB7CD0D4E62 /* libPods-integration_test_tvos.a in Frameworks */, + + 1A1F4F7D010000000004 /* FirebaseFunctions in Frameworks */, + 1A1F4F7D010000000005 /* FirebaseAuth in Frameworks */, + 1A1F4F7D010000000006 /* FirebaseAppCheck in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 177B135487F66CCDA397B5DC /* Pods */ = { - isa = PBXGroup; - children = ( - 8675F0B26689AA876629E125 /* Pods-integration_test.debug.xcconfig */, - E30FEEB78B34075EC944F51F /* Pods-integration_test.release.xcconfig */, - DC1961DDB894F0DB5BE0D891 /* Pods-integration_test_tvos.debug.xcconfig */, - 22934B574D2479C75CC4D751 /* Pods-integration_test_tvos.release.xcconfig */, - ); - path = Pods; - sourceTree = ""; - }; 529226C91C85F68000C89379 = { isa = PBXGroup; children = ( @@ -126,7 +119,6 @@ BC1D674626799A44005DC2DA /* integration_test_tvos */, 529226D41C85F68000C89379 /* Frameworks */, 529226D31C85F68000C89379 /* Products */, - 177B135487F66CCDA397B5DC /* Pods */, ); sourceTree = ""; }; @@ -152,8 +144,6 @@ 529226D71C85F68000C89379 /* CoreGraphics.framework */, 529226D91C85F68000C89379 /* UIKit.framework */, 529226EE1C85F68000C89379 /* XCTest.framework */, - AAB44827137900B6A0CA149C /* libPods-integration_test.a */, - 4D9F70D4C409428D66F5C43C /* libPods-integration_test_tvos.a */, ); name = Frameworks; sourceTree = ""; @@ -201,7 +191,6 @@ isa = PBXNativeTarget; buildConfigurationList = 529226F91C85F68000C89379 /* Build configuration list for PBXNativeTarget "integration_test" */; buildPhases = ( - 5B11D4C36316764A33CEA40E /* [CP] Check Pods Manifest.lock */, 529226CE1C85F68000C89379 /* Sources */, 529226CF1C85F68000C89379 /* Frameworks */, 529226D01C85F68000C89379 /* Resources */, @@ -211,6 +200,11 @@ dependencies = ( ); name = integration_test; + packageProductDependencies = ( + 1A1F4F7D020000000001 /* FirebaseFunctions */, + 1A1F4F7D020000000002 /* FirebaseAuth */, + 1A1F4F7D020000000003 /* FirebaseAppCheck */, + ); productName = testapp; productReference = 529226D21C85F68000C89379 /* integration_test.app */; productType = "com.apple.product-type.application"; @@ -219,7 +213,6 @@ isa = PBXNativeTarget; buildConfigurationList = BC1D675A26799A45005DC2DA /* Build configuration list for PBXNativeTarget "integration_test_tvos" */; buildPhases = ( - CAEA919B30700F0E6326A7F0 /* [CP] Check Pods Manifest.lock */, BC1D674126799A44005DC2DA /* Sources */, BC1D674226799A44005DC2DA /* Frameworks */, BC1D674326799A44005DC2DA /* Resources */, @@ -229,6 +222,11 @@ dependencies = ( ); name = integration_test_tvos; + packageProductDependencies = ( + 1A1F4F7D020000000004 /* FirebaseFunctions */, + 1A1F4F7D020000000005 /* FirebaseAuth */, + 1A1F4F7D020000000006 /* FirebaseAppCheck */, + ); productName = integration_test_tvos; productReference = BC1D674526799A44005DC2DA /* integration_test_tvos.app */; productType = "com.apple.product-type.application"; @@ -265,6 +263,9 @@ Base, ); mainGroup = 529226C91C85F68000C89379; + packageReferences = ( + 1A1F4F7D030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */, + ); productRefGroup = 529226D31C85F68000C89379 /* Products */; projectDirPath = ""; projectRoot = ""; @@ -480,7 +481,6 @@ }; 529226FA1C85F68000C89379 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 8675F0B26689AA876629E125 /* Pods-integration_test.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; @@ -514,7 +514,6 @@ }; 529226FB1C85F68000C89379 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E30FEEB78B34075EC944F51F /* Pods-integration_test.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; @@ -547,7 +546,6 @@ }; BC1D675826799A45005DC2DA /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = DC1961DDB894F0DB5BE0D891 /* Pods-integration_test_tvos.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; @@ -605,7 +603,6 @@ }; BC1D675926799A45005DC2DA /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 22934B574D2479C75CC4D751 /* Pods-integration_test_tvos.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; @@ -660,6 +657,50 @@ }; /* End XCBuildConfiguration section */ +/* Begin XCRemoteSwiftPackageReference section */ + 1A1F4F7D030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/firebase/firebase-ios-sdk.git"; + requirement = { + kind = exactVersion; + version = 12.18.0; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 1A1F4F7D020000000001 /* FirebaseFunctions */ = { + isa = XCSwiftPackageProductDependency; + package = 1A1F4F7D030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseFunctions; + }; + 1A1F4F7D020000000002 /* FirebaseAuth */ = { + isa = XCSwiftPackageProductDependency; + package = 1A1F4F7D030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseAuth; + }; + 1A1F4F7D020000000003 /* FirebaseAppCheck */ = { + isa = XCSwiftPackageProductDependency; + package = 1A1F4F7D030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseAppCheck; + }; + 1A1F4F7D020000000004 /* FirebaseFunctions */ = { + isa = XCSwiftPackageProductDependency; + package = 1A1F4F7D030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseFunctions; + }; + 1A1F4F7D020000000005 /* FirebaseAuth */ = { + isa = XCSwiftPackageProductDependency; + package = 1A1F4F7D030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseAuth; + }; + 1A1F4F7D020000000006 /* FirebaseAppCheck */ = { + isa = XCSwiftPackageProductDependency; + package = 1A1F4F7D030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseAppCheck; + }; +/* End XCSwiftPackageProductDependency section */ + /* Begin XCConfigurationList section */ 529226CD1C85F68000C89379 /* Build configuration list for PBXProject "integration_test" */ = { isa = XCConfigurationList; diff --git a/installations/integration_test/Podfile b/installations/integration_test/Podfile deleted file mode 100644 index 882f242b7b..0000000000 --- a/installations/integration_test/Podfile +++ /dev/null @@ -1,17 +0,0 @@ -source 'https://github.com/CocoaPods/Specs.git' -platform :ios, '15.0' -# Firebase Installations test application. -use_frameworks! :linkage => :static - -target 'integration_test' do - platform :ios, '15.0' - pod 'Firebase/Analytics', '12.18.0' - pod 'Firebase/Installations', '12.18.0' -end - -post_install do |installer| - # If this is running from inside the SDK directory, run the setup script. - system("if [[ -r ../../setup_integration_tests.py ]]; then python3 ../../setup_integration_tests.py .; fi") - system("python3 ./download_googletest.py") -end - diff --git a/installations/integration_test/integration_test.xcodeproj/project.pbxproj b/installations/integration_test/integration_test.xcodeproj/project.pbxproj index 5eda7ec6c9..45c53b3e6e 100644 --- a/installations/integration_test/integration_test.xcodeproj/project.pbxproj +++ b/installations/integration_test/integration_test.xcodeproj/project.pbxproj @@ -7,6 +7,8 @@ objects = { /* Begin PBXBuildFile section */ + 1AFE5475010000000001 /* FirebaseAnalytics in Frameworks */ = {isa = PBXBuildFile; productRef = 1AFE5475020000000001 /* FirebaseAnalytics */; }; + 1AFE5475010000000002 /* FirebaseInstallations in Frameworks */ = {isa = PBXBuildFile; productRef = 1AFE5475020000000002 /* FirebaseInstallations */; }; 520BC0391C869159008CFBC3 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 520BC0381C869159008CFBC3 /* GoogleService-Info.plist */; }; 529226D61C85F68000C89379 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 529226D51C85F68000C89379 /* Foundation.framework */; }; 529226D81C85F68000C89379 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 529226D71C85F68000C89379 /* CoreGraphics.framework */; }; @@ -55,6 +57,9 @@ 529226D81C85F68000C89379 /* CoreGraphics.framework in Frameworks */, 529226DA1C85F68000C89379 /* UIKit.framework in Frameworks */, 529226D61C85F68000C89379 /* Foundation.framework in Frameworks */, + + 1AFE5475010000000001 /* FirebaseAnalytics in Frameworks */, + 1AFE5475010000000002 /* FirebaseInstallations in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -136,6 +141,10 @@ dependencies = ( ); name = integration_test; + packageProductDependencies = ( + 1AFE5475020000000001 /* FirebaseAnalytics */, + 1AFE5475020000000002 /* FirebaseInstallations */, + ); productName = testapp; productReference = 529226D21C85F68000C89379 /* integration_test.app */; productType = "com.apple.product-type.application"; @@ -166,6 +175,9 @@ en, ); mainGroup = 529226C91C85F68000C89379; + packageReferences = ( + 1AFE5475030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */, + ); productRefGroup = 529226D31C85F68000C89379 /* Products */; projectDirPath = ""; projectRoot = ""; @@ -352,6 +364,30 @@ }; /* End XCBuildConfiguration section */ +/* Begin XCRemoteSwiftPackageReference section */ + 1AFE5475030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/firebase/firebase-ios-sdk.git"; + requirement = { + kind = exactVersion; + version = 12.18.0; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 1AFE5475020000000001 /* FirebaseAnalytics */ = { + isa = XCSwiftPackageProductDependency; + package = 1AFE5475030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseAnalytics; + }; + 1AFE5475020000000002 /* FirebaseInstallations */ = { + isa = XCSwiftPackageProductDependency; + package = 1AFE5475030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseInstallations; + }; +/* End XCSwiftPackageProductDependency section */ + /* Begin XCConfigurationList section */ 529226CD1C85F68000C89379 /* Build configuration list for PBXProject "integration_test" */ = { isa = XCConfigurationList; diff --git a/messaging/integration_test/Podfile b/messaging/integration_test/Podfile deleted file mode 100644 index 5c45689358..0000000000 --- a/messaging/integration_test/Podfile +++ /dev/null @@ -1,22 +0,0 @@ -source 'https://github.com/CocoaPods/Specs.git' -# Firebase Cloud Messaging test application. -use_frameworks! :linkage => :static - -target 'integration_test' do - platform :ios, '15.0' - pod 'Firebase/Messaging', '12.18.0' - pod 'Firebase/Functions', '12.18.0' -end - -target 'integration_test_tvos' do - platform :tvos, '15.0' - pod 'Firebase/Messaging', '12.18.0' - pod 'Firebase/Functions', '12.18.0' -end - -post_install do |installer| - # If this is running from inside the SDK directory, run the setup script. - system("if [[ -r ../../setup_integration_tests.py ]]; then python3 ../../setup_integration_tests.py .; fi") - system("/usr/bin/python3 ./download_googletest.py") -end - diff --git a/messaging/integration_test/integration_test.xcodeproj/project.pbxproj b/messaging/integration_test/integration_test.xcodeproj/project.pbxproj index 801d0a002c..fa115e9680 100644 --- a/messaging/integration_test/integration_test.xcodeproj/project.pbxproj +++ b/messaging/integration_test/integration_test.xcodeproj/project.pbxproj @@ -7,6 +7,10 @@ objects = { /* Begin PBXBuildFile section */ + 1A2475CE010000000001 /* FirebaseMessaging in Frameworks */ = {isa = PBXBuildFile; productRef = 1A2475CE020000000001 /* FirebaseMessaging */; }; + 1A2475CE010000000002 /* FirebaseFunctions in Frameworks */ = {isa = PBXBuildFile; productRef = 1A2475CE020000000002 /* FirebaseFunctions */; }; + 1A2475CE010000000003 /* FirebaseMessaging in Frameworks */ = {isa = PBXBuildFile; productRef = 1A2475CE020000000003 /* FirebaseMessaging */; }; + 1A2475CE010000000004 /* FirebaseFunctions in Frameworks */ = {isa = PBXBuildFile; productRef = 1A2475CE020000000004 /* FirebaseFunctions */; }; 520BC0391C869159008CFBC3 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 520BC0381C869159008CFBC3 /* GoogleService-Info.plist */; }; 529226D61C85F68000C89379 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 529226D51C85F68000C89379 /* Foundation.framework */; }; 529226D81C85F68000C89379 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 529226D71C85F68000C89379 /* CoreGraphics.framework */; }; @@ -38,17 +42,12 @@ /* End PBXBuildFile section */ /* Begin PBXFileReference section */ - 067DBC68D3D4B41590DE9834 /* libPods-integration_test.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-integration_test.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 0706EA9445BCA4055E765B2B /* libPods-integration_test_tvos.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-integration_test_tvos.a"; sourceTree = BUILT_PRODUCTS_DIR; }; - 187DA1CE07295DEC4378B7E2 /* Pods-integration_test.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-integration_test.debug.xcconfig"; path = "Target Support Files/Pods-integration_test/Pods-integration_test.debug.xcconfig"; sourceTree = ""; }; 520BC0381C869159008CFBC3 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; 529226D21C85F68000C89379 /* integration_test.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = integration_test.app; sourceTree = BUILT_PRODUCTS_DIR; }; 529226D51C85F68000C89379 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 529226D71C85F68000C89379 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; 529226D91C85F68000C89379 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; 529226EE1C85F68000C89379 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; - 577B09235E486561D55F37DF /* Pods-integration_test.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-integration_test.release.xcconfig"; path = "Target Support Files/Pods-integration_test/Pods-integration_test.release.xcconfig"; sourceTree = ""; }; - 81EF7FBB876B573921A52197 /* Pods-integration_test_tvos.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-integration_test_tvos.release.xcconfig"; path = "Target Support Files/Pods-integration_test_tvos/Pods-integration_test_tvos.release.xcconfig"; sourceTree = ""; }; BCFD5BD826A5DD3400538907 /* integration_test_tvos.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = integration_test_tvos.app; sourceTree = BUILT_PRODUCTS_DIR; }; BCFD5BE126A5DD3400538907 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; BCFD5BE626A5DD3400538907 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; @@ -59,7 +58,6 @@ BCFD5BF626A5E30900538907 /* firebase_messaging.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = firebase_messaging.xcframework; path = ../../ios_tvos_build/xcframeworks/firebase_messaging.xcframework; sourceTree = ""; }; BCFD5C0226A6100D00538907 /* firebase_messaging.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = firebase_messaging.xcframework; path = ../../../prebuilt/firebase_cpp_sdk_8.1.0/xcframeworks/firebase_messaging.xcframework; sourceTree = ""; }; BCFD5C0326A6100D00538907 /* firebase.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = firebase.xcframework; path = ../../../prebuilt/firebase_cpp_sdk_8.1.0/xcframeworks/firebase.xcframework; sourceTree = ""; }; - CCCD7F9F30C5B4CDF23E3893 /* Pods-integration_test_tvos.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-integration_test_tvos.debug.xcconfig"; path = "Target Support Files/Pods-integration_test_tvos/Pods-integration_test_tvos.debug.xcconfig"; sourceTree = ""; }; D61C5F8C22BABA9B00A79141 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; D61C5F8D22BABA9C00A79141 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; D61C5F9222BABAD100A79141 /* integration_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = integration_test.cc; path = src/integration_test.cc; sourceTree = ""; }; @@ -85,6 +83,9 @@ 529226D81C85F68000C89379 /* CoreGraphics.framework in Frameworks */, 529226DA1C85F68000C89379 /* UIKit.framework in Frameworks */, 529226D61C85F68000C89379 /* Foundation.framework in Frameworks */, + + 1A2475CE010000000001 /* FirebaseMessaging in Frameworks */, + 1A2475CE010000000002 /* FirebaseFunctions in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -95,6 +96,9 @@ BCFD5BF326A5E25600538907 /* CoreGraphics.framework in Frameworks */, BCFD5BF126A5E25200538907 /* UIKit.framework in Frameworks */, BCFD5BEF26A5E24C00538907 /* Foundation.framework in Frameworks */, + + 1A2475CE010000000003 /* FirebaseMessaging in Frameworks */, + 1A2475CE010000000004 /* FirebaseFunctions in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -112,7 +116,6 @@ BCFD5BD926A5DD3400538907 /* integration_test_tvos */, 529226D41C85F68000C89379 /* Frameworks */, 529226D31C85F68000C89379 /* Products */, - EDA1E197C1E6A5B403CA7057 /* Pods */, ); sourceTree = ""; }; @@ -139,8 +142,6 @@ 529226D71C85F68000C89379 /* CoreGraphics.framework */, 529226D91C85F68000C89379 /* UIKit.framework */, 529226EE1C85F68000C89379 /* XCTest.framework */, - 067DBC68D3D4B41590DE9834 /* libPods-integration_test.a */, - 0706EA9445BCA4055E765B2B /* libPods-integration_test_tvos.a */, ); name = Frameworks; sourceTree = ""; @@ -181,17 +182,6 @@ path = integration_test_tvos; sourceTree = ""; }; - EDA1E197C1E6A5B403CA7057 /* Pods */ = { - isa = PBXGroup; - children = ( - 187DA1CE07295DEC4378B7E2 /* Pods-integration_test.debug.xcconfig */, - 577B09235E486561D55F37DF /* Pods-integration_test.release.xcconfig */, - CCCD7F9F30C5B4CDF23E3893 /* Pods-integration_test_tvos.debug.xcconfig */, - 81EF7FBB876B573921A52197 /* Pods-integration_test_tvos.release.xcconfig */, - ); - path = Pods; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -199,7 +189,6 @@ isa = PBXNativeTarget; buildConfigurationList = 529226F91C85F68000C89379 /* Build configuration list for PBXNativeTarget "integration_test" */; buildPhases = ( - C82FE63120B63DBB3DB2E5D1 /* [CP] Check Pods Manifest.lock */, 529226CE1C85F68000C89379 /* Sources */, 529226CF1C85F68000C89379 /* Frameworks */, 529226D01C85F68000C89379 /* Resources */, @@ -209,6 +198,10 @@ dependencies = ( ); name = integration_test; + packageProductDependencies = ( + 1A2475CE020000000001 /* FirebaseMessaging */, + 1A2475CE020000000002 /* FirebaseFunctions */, + ); productName = testapp; productReference = 529226D21C85F68000C89379 /* integration_test.app */; productType = "com.apple.product-type.application"; @@ -217,7 +210,6 @@ isa = PBXNativeTarget; buildConfigurationList = BCFD5BED26A5DD3400538907 /* Build configuration list for PBXNativeTarget "integration_test_tvos" */; buildPhases = ( - 6D3FBAC9C44EBC7D4769F363 /* [CP] Check Pods Manifest.lock */, BCFD5BD426A5DD3400538907 /* Sources */, BCFD5BD526A5DD3400538907 /* Frameworks */, BCFD5BD626A5DD3400538907 /* Resources */, @@ -227,6 +219,10 @@ dependencies = ( ); name = integration_test_tvos; + packageProductDependencies = ( + 1A2475CE020000000003 /* FirebaseMessaging */, + 1A2475CE020000000004 /* FirebaseFunctions */, + ); productName = integration_test_tvos; productReference = BCFD5BD826A5DD3400538907 /* integration_test_tvos.app */; productType = "com.apple.product-type.application"; @@ -263,6 +259,9 @@ Base, ); mainGroup = 529226C91C85F68000C89379; + packageReferences = ( + 1A2475CE030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */, + ); productRefGroup = 529226D31C85F68000C89379 /* Products */; projectDirPath = ""; projectRoot = ""; @@ -296,52 +295,6 @@ }; /* End PBXResourcesBuildPhase section */ -/* Begin PBXShellScriptBuildPhase section */ - 6D3FBAC9C44EBC7D4769F363 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-integration_test_tvos-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - C82FE63120B63DBB3DB2E5D1 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-integration_test-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ 529226CE1C85F68000C89379 /* Sources */ = { @@ -478,7 +431,6 @@ }; 529226FA1C85F68000C89379 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 187DA1CE07295DEC4378B7E2 /* Pods-integration_test.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; @@ -511,7 +463,6 @@ }; 529226FB1C85F68000C89379 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 577B09235E486561D55F37DF /* Pods-integration_test.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; @@ -543,7 +494,6 @@ }; BCFD5BEB26A5DD3400538907 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CCCD7F9F30C5B4CDF23E3893 /* Pods-integration_test_tvos.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; @@ -598,7 +548,6 @@ }; BCFD5BEC26A5DD3400538907 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 81EF7FBB876B573921A52197 /* Pods-integration_test_tvos.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; @@ -650,6 +599,40 @@ }; /* End XCBuildConfiguration section */ +/* Begin XCRemoteSwiftPackageReference section */ + 1A2475CE030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/firebase/firebase-ios-sdk.git"; + requirement = { + kind = exactVersion; + version = 12.18.0; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 1A2475CE020000000001 /* FirebaseMessaging */ = { + isa = XCSwiftPackageProductDependency; + package = 1A2475CE030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseMessaging; + }; + 1A2475CE020000000002 /* FirebaseFunctions */ = { + isa = XCSwiftPackageProductDependency; + package = 1A2475CE030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseFunctions; + }; + 1A2475CE020000000003 /* FirebaseMessaging */ = { + isa = XCSwiftPackageProductDependency; + package = 1A2475CE030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseMessaging; + }; + 1A2475CE020000000004 /* FirebaseFunctions */ = { + isa = XCSwiftPackageProductDependency; + package = 1A2475CE030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseFunctions; + }; +/* End XCSwiftPackageProductDependency section */ + /* Begin XCConfigurationList section */ 529226CD1C85F68000C89379 /* Build configuration list for PBXProject "integration_test" */ = { isa = XCConfigurationList; diff --git a/messaging/integration_test/readme.md b/messaging/integration_test/readme.md index ea47af7387..2241199718 100644 --- a/messaging/integration_test/readme.md +++ b/messaging/integration_test/readme.md @@ -14,24 +14,18 @@ Introduction Building and Running the testapp -------------------------------- ### iOS - - Link your iOS app to the Firebase libraries. - - Get CocoaPods version 1 or later by running, - - ``` - sudo gem install cocoapods --pre - ``` - - From the testapp directory, install the CocoaPods listed in the Podfile by - running, - ``` - pod install - ``` - - Open the generated Xcode workspace (which now has the CocoaPods), - - ``` - open testapp.xcworkspace - ``` + - Set up the test framework and dependencies: + - From the SDK root directory, run the setup script for the integration test: + ``` + python3 setup_integration_tests.py messaging/integration_test + ``` + - Open the Xcode project: + ``` + open integration_test.xcodeproj + ``` + Xcode will automatically resolve the required Swift Package dependencies (e.g. `firebase-ios-sdk`). - For further details please refer to the - [general instructions for setting up an iOS app with Firebase](https://firebase.google.com/docs/ios/setup). + [general instructions for setting up an iOS app with Firebase](https://firebase.google.com/docs/ios/setup). - Register your iOS app with Firebase. - Create a new app on diff --git a/remote_config/integration_test/Podfile b/remote_config/integration_test/Podfile deleted file mode 100644 index 51cf7bbf7a..0000000000 --- a/remote_config/integration_test/Podfile +++ /dev/null @@ -1,20 +0,0 @@ -source 'https://github.com/CocoaPods/Specs.git' -# Firebase Remote Config test application. -use_frameworks! :linkage => :static - -target 'integration_test' do - platform :ios, '15.0' - pod 'Firebase/RemoteConfig', '12.18.0' -end - -target 'integration_test_tvos' do - platform :tvos, '15.0' - pod 'Firebase/RemoteConfig', '12.18.0' -end - -post_install do |installer| - # If this is running from inside the SDK directory, run the setup script. - system("if [[ -r ../../setup_integration_tests.py ]]; then python3 ../../setup_integration_tests.py .; fi") - system("python3 ./download_googletest.py") -end - diff --git a/remote_config/integration_test/integration_test.xcodeproj/project.pbxproj b/remote_config/integration_test/integration_test.xcodeproj/project.pbxproj index 632c12c670..759693001a 100644 --- a/remote_config/integration_test/integration_test.xcodeproj/project.pbxproj +++ b/remote_config/integration_test/integration_test.xcodeproj/project.pbxproj @@ -7,6 +7,8 @@ objects = { /* Begin PBXBuildFile section */ + 1A9E6A61010000000001 /* FirebaseRemoteConfig in Frameworks */ = {isa = PBXBuildFile; productRef = 1A9E6A61020000000001 /* FirebaseRemoteConfig */; }; + 1A9E6A61010000000002 /* FirebaseRemoteConfig in Frameworks */ = {isa = PBXBuildFile; productRef = 1A9E6A61020000000002 /* FirebaseRemoteConfig */; }; 520BC0391C869159008CFBC3 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 520BC0381C869159008CFBC3 /* GoogleService-Info.plist */; }; 529226D61C85F68000C89379 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 529226D51C85F68000C89379 /* Foundation.framework */; }; 529226D81C85F68000C89379 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 529226D71C85F68000C89379 /* CoreGraphics.framework */; }; @@ -38,7 +40,6 @@ /* End PBXBuildFile section */ /* Begin PBXFileReference section */ - 08BEC1E1347C2FECB5DCC35B /* libPods-integration_test.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-integration_test.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 520BC0381C869159008CFBC3 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; 529226D21C85F68000C89379 /* integration_test.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = integration_test.app; sourceTree = BUILT_PRODUCTS_DIR; }; 529226D51C85F68000C89379 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; @@ -51,7 +52,6 @@ BC1D66692668D4AE005DC2DA /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS14.5.sdk/System/Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; }; BC1D666B2668D4B3005DC2DA /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS14.5.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; BC1D666D2668D4BB005DC2DA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS14.5.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - C72064CD0A7906E678F38564 /* libPods-integration_test_tvos.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-integration_test_tvos.a"; sourceTree = BUILT_PRODUCTS_DIR; }; D61C5F8C22BABA9B00A79141 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; D61C5F8D22BABA9C00A79141 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; D61C5F9222BABAD100A79141 /* integration_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = integration_test.cc; path = src/integration_test.cc; sourceTree = ""; }; @@ -77,6 +77,8 @@ 529226D81C85F68000C89379 /* CoreGraphics.framework in Frameworks */, 529226DA1C85F68000C89379 /* UIKit.framework in Frameworks */, 529226D61C85F68000C89379 /* Foundation.framework in Frameworks */, + + 1A9E6A61010000000001 /* FirebaseRemoteConfig in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -87,6 +89,8 @@ BC1D666E2668D4BB005DC2DA /* Foundation.framework in Frameworks */, BC1D666C2668D4B3005DC2DA /* UIKit.framework in Frameworks */, BC1D666A2668D4AE005DC2DA /* CoreGraphics.framework in Frameworks */, + + 1A9E6A61010000000002 /* FirebaseRemoteConfig in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -126,8 +130,6 @@ 529226D71C85F68000C89379 /* CoreGraphics.framework */, 529226D91C85F68000C89379 /* UIKit.framework */, 529226EE1C85F68000C89379 /* XCTest.framework */, - 08BEC1E1347C2FECB5DCC35B /* libPods-integration_test.a */, - C72064CD0A7906E678F38564 /* libPods-integration_test_tvos.a */, ); name = Frameworks; sourceTree = ""; @@ -175,7 +177,6 @@ isa = PBXNativeTarget; buildConfigurationList = 529226F91C85F68000C89379 /* Build configuration list for PBXNativeTarget "integration_test" */; buildPhases = ( - AD3D1FDEE4CF418AF7FD6E76 /* [CP] Check Pods Manifest.lock */, 529226CE1C85F68000C89379 /* Sources */, 529226CF1C85F68000C89379 /* Frameworks */, 529226D01C85F68000C89379 /* Resources */, @@ -185,6 +186,9 @@ dependencies = ( ); name = integration_test; + packageProductDependencies = ( + 1A9E6A61020000000001 /* FirebaseRemoteConfig */, + ); productName = testapp; productReference = 529226D21C85F68000C89379 /* integration_test.app */; productType = "com.apple.product-type.application"; @@ -193,7 +197,6 @@ isa = PBXNativeTarget; buildConfigurationList = BC1D66612668D10A005DC2DA /* Build configuration list for PBXNativeTarget "integration_test_tvos" */; buildPhases = ( - 8958A3A33BBDC5DD317A123E /* [CP] Check Pods Manifest.lock */, BC1D66482668D109005DC2DA /* Sources */, BC1D66492668D109005DC2DA /* Frameworks */, BC1D664A2668D109005DC2DA /* Resources */, @@ -203,6 +206,9 @@ dependencies = ( ); name = integration_test_tvos; + packageProductDependencies = ( + 1A9E6A61020000000002 /* FirebaseRemoteConfig */, + ); productName = integration_test_tvos; productReference = BC1D664C2668D109005DC2DA /* integration_test_tvos.app */; productType = "com.apple.product-type.application"; @@ -239,6 +245,9 @@ Base, ); mainGroup = 529226C91C85F68000C89379; + packageReferences = ( + 1A9E6A61030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */, + ); productRefGroup = 529226D31C85F68000C89379 /* Products */; projectDirPath = ""; projectRoot = ""; @@ -622,6 +631,30 @@ }; /* End XCBuildConfiguration section */ +/* Begin XCRemoteSwiftPackageReference section */ + 1A9E6A61030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/firebase/firebase-ios-sdk.git"; + requirement = { + kind = exactVersion; + version = 12.18.0; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 1A9E6A61020000000001 /* FirebaseRemoteConfig */ = { + isa = XCSwiftPackageProductDependency; + package = 1A9E6A61030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseRemoteConfig; + }; + 1A9E6A61020000000002 /* FirebaseRemoteConfig */ = { + isa = XCSwiftPackageProductDependency; + package = 1A9E6A61030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseRemoteConfig; + }; +/* End XCSwiftPackageProductDependency section */ + /* Begin XCConfigurationList section */ 529226CD1C85F68000C89379 /* Build configuration list for PBXProject "integration_test" */ = { isa = XCConfigurationList; diff --git a/scripts/gha/build_testapps.py b/scripts/gha/build_testapps.py index 867202f71e..717be482fd 100644 --- a/scripts/gha/build_testapps.py +++ b/scripts/gha/build_testapps.py @@ -161,10 +161,8 @@ "or both. Building for both will produce both an .app and an .ipa.") flags.DEFINE_bool( - "update_pod_repo", True, - "(iOS/tvOS only) Will run 'pod repo update' before building for iOS/tvOS to update" - " the local spec repos available on this machine. Must also include iOS/tvOS" - " in platforms flag.") + "update_pod_repo", False, + "(Deprecated / unused for Swift Package Manager testapps).") flags.DEFINE_string( "compiler", None, @@ -255,9 +253,6 @@ def main(argv): if _TVOS in platforms: _build_xcframework_from_repo(repo_dir, "tvos", testapps, config) - if update_pod_repo and (_IOS in platforms or _TVOS in platforms): - _run(["pod", "repo", "update"]) - cmake_flags = _get_desktop_compiler_flags(FLAGS.compiler, config.compilers) if _DESKTOP in platforms and not FLAGS.packaged_sdk: cmake_flags.extend(( @@ -614,8 +609,6 @@ def _build_apple( dir_util.copy_tree(framework_src_path, framework_dest_path) framework_paths.append(framework_dest_path) - _run(["pod", "install"]) - entitlements_path = os.path.join( project_dir, api_config.ios_target + ".entitlements") xcode_tool_path = os.path.join( @@ -636,7 +629,7 @@ def _build_apple( logging.info("No entitlements found at %s.", entitlements_path) _run(xcode_patcher_args) - xcode_path = os.path.join(project_dir, "integration_test.xcworkspace") + xcode_path = os.path.join(project_dir, "integration_test.xcodeproj") if _APPLE_SDK_SIMULATOR in apple_sdk: _run( xcodebuild.get_args_for_build( diff --git a/scripts/update_android_ios_dependencies.py b/scripts/update_android_ios_dependencies.py index fd72f2fb03..613d9d8e6d 100644 --- a/scripts/update_android_ios_dependencies.py +++ b/scripts/update_android_ios_dependencies.py @@ -182,6 +182,7 @@ def get_files(dirs_and_files, file_extension, file_name=None, 'FirebaseMessaging', 'FirebaseRemoteConfig', 'FirebaseStorage', + 'GoogleUserMessagingPlatform', ] def get_pod_versions(specs_repo, pods=PODS, ignore_pods=None, @@ -372,6 +373,85 @@ def modify_pod_file(pod_file, pod_version_map, dryrun=True, ignore_ios_versions= print() +# Regex to match XCRemoteSwiftPackageReference blocks in project.pbxproj +RE_SPM_PACKAGE_BLOCK = re.compile( + r'(?P\b[0-9A-Fa-f]+ /\* XCRemoteSwiftPackageReference "(?P[^"]+)" \*/ = \{\s*' + r'isa = XCRemoteSwiftPackageReference;\s*' + r'repositoryURL = "(?P[^"]+)";\s*' + r'requirement = \{\s*' + r'kind = exactVersion;\s*' + r'version = )(?P[^;\s]+)(?P;\s*\}\s*;\s*\})', + re.DOTALL +) + +def modify_project_file_spm(project_file, pod_version_map, dryrun=True, + ignore_ios_versions=[]): + """Update Swift Package versions in specified project.pbxproj file. + + Args: + project_file (str): Absolute path to a project.pbxproj file. + pod_version_map (dict): Map of pod/package names to their respective version. + dryrun (bool, optional): Just print the substitutions. + Do not write to file. Defaults to True. + ignore_ios_versions (set): If the old version number for a package + matches one of these, don't update it. + """ + global logfile_lines + with open(project_file, "r") as f: + content = f.read() + + substituted_pairs = [] + to_update = False + + # Map repository URL keywords to pod version keys + SPM_PACKAGE_TO_POD_KEY = { + 'firebase-ios-sdk': 'Firebase', + 'google-user-messaging-platform': 'GoogleUserMessagingPlatform', + 'swift-package-manager-google-user-messaging-platform': 'GoogleUserMessagingPlatform', + } + + def replace_spm_block(match): + nonlocal to_update + pkg_name = match.group('pkg_name') + repo_url = match.group('repo_url') + current_version = match.group('version') + + pod_key = None + for k, v in SPM_PACKAGE_TO_POD_KEY.items(): + if k in repo_url.lower() or k in pkg_name.lower(): + pod_key = v + break + + if not pod_key or pod_key not in pod_version_map: + return match.group(0) + + for ignore_version in ignore_ios_versions: + if ignore_version in current_version: + return match.group(0) + + latest_version = pod_version_map[pod_key] + if latest_version != current_version: + substituted_pairs.append((f'{pkg_name} version = {current_version}', + f'{pkg_name} version = {latest_version}')) + to_update = True + logfile_lines.add('iOS (SPM): %s → %s' % (pkg_name, latest_version)) + return match.group('prefix') + latest_version + match.group('suffix') + + return match.group(0) + + new_content = RE_SPM_PACKAGE_BLOCK.sub(replace_spm_block, content) + + if to_update: + print('Updating contents of {0}'.format(project_file)) + for original, substituted in substituted_pairs: + print('(-) ' + original + '\n(+) ' + substituted) + + if not dryrun: + with open(project_file, "w") as f: + f.write(new_content) + print() + + # Regex to match lines like: # | | Firebase/Auth Cocoapod (8.2.0) RE_README_POD_VERSION = re.compile( @@ -691,7 +771,7 @@ def parse_cmdline_args(): # TODO: remove default values when we decide to update androidx for # gameloop_android as well. parser.add_argument('--ignore_directories', nargs='+', - default=('gameloop_android', 'scripts'), + default=('gameloop_android', 'scripts', '.cxx', 'ios_build', 'tvos_build', 'desktop_build', 'test_output', 'build'), help='Ignore updating any files in these directories (names).') parser.add_argument('--allow_experimental', action='store_true', help='Allow updating to experimental versions (eg:1.2.3-alpha))') @@ -706,6 +786,8 @@ def parse_cmdline_args(): 'any of the items specified in this list as substrings.') parser.add_argument('--podfiles', nargs='+', default=(os.getcwd(),), help= 'List of pod files or directories containing podfiles') + parser.add_argument('--projectfiles', nargs='+', default=(os.getcwd(),), + help= 'List of Xcode project files or directories containing project.pbxproj files') parser.add_argument('--specs_repo', help= 'Local checkout of github Cocoapods Specs repository') # Android options @@ -767,6 +849,12 @@ def main(): for pod_file in pod_files: modify_pod_file(pod_file, latest_pod_versions_map, args.dryrun, args.ignore_ios_versions) + project_files = get_files(args.projectfiles, file_extension='.pbxproj', + file_name='project.pbxproj', + ignore_directories=set(args.ignore_directories)) + for project_file in project_files: + modify_project_file_spm(project_file, latest_pod_versions_map, args.dryrun, + args.ignore_ios_versions) for readme_file in readme_files: modify_readme_file_pods(readme_file, latest_pod_versions_map, args.dryrun) diff --git a/storage/integration_test/Podfile b/storage/integration_test/Podfile deleted file mode 100644 index d04c19175c..0000000000 --- a/storage/integration_test/Podfile +++ /dev/null @@ -1,22 +0,0 @@ -source 'https://github.com/CocoaPods/Specs.git' -# Cloud Storage for Firebase test application. -use_frameworks! :linkage => :static - -target 'integration_test' do - platform :ios, '15.0' - pod 'Firebase/Storage', '12.18.0' - pod 'Firebase/Auth', '12.18.0' -end - -target 'integration_test_tvos' do - platform :tvos, '15.0' - pod 'Firebase/Storage', '12.18.0' - pod 'Firebase/Auth', '12.18.0' -end - -post_install do |installer| - # If this is running from inside the SDK directory, run the setup script. - system("if [[ -r ../../setup_integration_tests.py ]]; then python3 ../../setup_integration_tests.py .; fi") - system("python3 ./download_googletest.py") -end - diff --git a/storage/integration_test/integration_test.xcodeproj/project.pbxproj b/storage/integration_test/integration_test.xcodeproj/project.pbxproj index 4d0bde1f79..e3e46ce56d 100644 --- a/storage/integration_test/integration_test.xcodeproj/project.pbxproj +++ b/storage/integration_test/integration_test.xcodeproj/project.pbxproj @@ -7,6 +7,10 @@ objects = { /* Begin PBXBuildFile section */ + 1AA8F609010000000001 /* FirebaseStorage in Frameworks */ = {isa = PBXBuildFile; productRef = 1AA8F609020000000001 /* FirebaseStorage */; }; + 1AA8F609010000000002 /* FirebaseAuth in Frameworks */ = {isa = PBXBuildFile; productRef = 1AA8F609020000000002 /* FirebaseAuth */; }; + 1AA8F609010000000003 /* FirebaseStorage in Frameworks */ = {isa = PBXBuildFile; productRef = 1AA8F609020000000003 /* FirebaseStorage */; }; + 1AA8F609010000000004 /* FirebaseAuth in Frameworks */ = {isa = PBXBuildFile; productRef = 1AA8F609020000000004 /* FirebaseAuth */; }; 520BC0391C869159008CFBC3 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 520BC0381C869159008CFBC3 /* GoogleService-Info.plist */; }; 529226D61C85F68000C89379 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 529226D51C85F68000C89379 /* Foundation.framework */; }; 529226D81C85F68000C89379 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 529226D71C85F68000C89379 /* CoreGraphics.framework */; }; @@ -38,14 +42,12 @@ /* End PBXBuildFile section */ /* Begin PBXFileReference section */ - 51947B312A8BC709F81C3E1F /* libPods-integration_test.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-integration_test.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 520BC0381C869159008CFBC3 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; 529226D21C85F68000C89379 /* integration_test.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = integration_test.app; sourceTree = BUILT_PRODUCTS_DIR; }; 529226D51C85F68000C89379 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 529226D71C85F68000C89379 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; 529226D91C85F68000C89379 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; 529226EE1C85F68000C89379 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; - B68CDE4B846F7B54E7421D3A /* libPods-integration_test_tvos.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-integration_test_tvos.a"; sourceTree = BUILT_PRODUCTS_DIR; }; BC1D668C2679868A005DC2DA /* integration_test_tvos.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = integration_test_tvos.app; sourceTree = BUILT_PRODUCTS_DIR; }; BC1D66952679868A005DC2DA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; BC1D669A2679868B005DC2DA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; @@ -82,6 +84,9 @@ 529226D81C85F68000C89379 /* CoreGraphics.framework in Frameworks */, 529226DA1C85F68000C89379 /* UIKit.framework in Frameworks */, 529226D61C85F68000C89379 /* Foundation.framework in Frameworks */, + + 1AA8F609010000000001 /* FirebaseStorage in Frameworks */, + 1AA8F609010000000002 /* FirebaseAuth in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -92,6 +97,9 @@ BC1D66AC267987AC005DC2DA /* CoreGraphics.framework in Frameworks */, BC1D66AA267987A7005DC2DA /* UIKit.framework in Frameworks */, BC1D66A8267987A2005DC2DA /* Foundation.framework in Frameworks */, + + 1AA8F609010000000003 /* FirebaseStorage in Frameworks */, + 1AA8F609010000000004 /* FirebaseAuth in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -136,8 +144,6 @@ 529226D71C85F68000C89379 /* CoreGraphics.framework */, 529226D91C85F68000C89379 /* UIKit.framework */, 529226EE1C85F68000C89379 /* XCTest.framework */, - 51947B312A8BC709F81C3E1F /* libPods-integration_test.a */, - B68CDE4B846F7B54E7421D3A /* libPods-integration_test_tvos.a */, ); name = Frameworks; sourceTree = ""; @@ -185,7 +191,6 @@ isa = PBXNativeTarget; buildConfigurationList = 529226F91C85F68000C89379 /* Build configuration list for PBXNativeTarget "integration_test" */; buildPhases = ( - 8FCAE2025BB2DFF835E8E1F2 /* [CP] Check Pods Manifest.lock */, 529226CE1C85F68000C89379 /* Sources */, 529226CF1C85F68000C89379 /* Frameworks */, 529226D01C85F68000C89379 /* Resources */, @@ -195,6 +200,10 @@ dependencies = ( ); name = integration_test; + packageProductDependencies = ( + 1AA8F609020000000001 /* FirebaseStorage */, + 1AA8F609020000000002 /* FirebaseAuth */, + ); productName = testapp; productReference = 529226D21C85F68000C89379 /* integration_test.app */; productType = "com.apple.product-type.application"; @@ -203,7 +212,6 @@ isa = PBXNativeTarget; buildConfigurationList = BC1D66A12679868B005DC2DA /* Build configuration list for PBXNativeTarget "integration_test_tvos" */; buildPhases = ( - CD5DE9F9B52A58935BBB0C9B /* [CP] Check Pods Manifest.lock */, BC1D66882679868A005DC2DA /* Sources */, BC1D66892679868A005DC2DA /* Frameworks */, BC1D668A2679868A005DC2DA /* Resources */, @@ -213,6 +221,10 @@ dependencies = ( ); name = integration_test_tvos; + packageProductDependencies = ( + 1AA8F609020000000003 /* FirebaseStorage */, + 1AA8F609020000000004 /* FirebaseAuth */, + ); productName = integration_test_tvos; productReference = BC1D668C2679868A005DC2DA /* integration_test_tvos.app */; productType = "com.apple.product-type.application"; @@ -250,6 +262,9 @@ Base, ); mainGroup = 529226C91C85F68000C89379; + packageReferences = ( + 1AA8F609030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */, + ); productRefGroup = 529226D31C85F68000C89379 /* Products */; projectDirPath = ""; projectRoot = ""; @@ -641,6 +656,40 @@ }; /* End XCBuildConfiguration section */ +/* Begin XCRemoteSwiftPackageReference section */ + 1AA8F609030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/firebase/firebase-ios-sdk.git"; + requirement = { + kind = exactVersion; + version = 12.18.0; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 1AA8F609020000000001 /* FirebaseStorage */ = { + isa = XCSwiftPackageProductDependency; + package = 1AA8F609030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseStorage; + }; + 1AA8F609020000000002 /* FirebaseAuth */ = { + isa = XCSwiftPackageProductDependency; + package = 1AA8F609030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseAuth; + }; + 1AA8F609020000000003 /* FirebaseStorage */ = { + isa = XCSwiftPackageProductDependency; + package = 1AA8F609030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseStorage; + }; + 1AA8F609020000000004 /* FirebaseAuth */ = { + isa = XCSwiftPackageProductDependency; + package = 1AA8F609030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseAuth; + }; +/* End XCSwiftPackageProductDependency section */ + /* Begin XCConfigurationList section */ 529226CD1C85F68000C89379 /* Build configuration list for PBXProject "integration_test" */ = { isa = XCConfigurationList; diff --git a/storage/integration_test/readme.md b/storage/integration_test/readme.md index 24f677cdfc..908676ec7c 100644 --- a/storage/integration_test/readme.md +++ b/storage/integration_test/readme.md @@ -37,20 +37,16 @@ Building and Running the integration test ----------------------------------------- ### iOS - - Link your iOS app to the Firebase libraries. - - Get CocoaPods version 1 or later by running, + - Set up the test framework and dependencies: + - From the SDK root directory, run the setup script for the integration test: ``` - sudo gem install cocoapods --pre + python3 setup_integration_tests.py storage/integration_test ``` - - From the integration_tests/storage directory, install the CocoaPods listed - in the Podfile by running, + - Open the Xcode project: ``` - pod install - ``` - - Open the generated Xcode workspace (which now has the CocoaPods), - ``` - open integration_test.xcworkspace + open integration_test.xcodeproj ``` + Xcode will automatically resolve the required Swift Package dependencies (e.g. `firebase-ios-sdk`). - For further details please refer to the [general instructions for setting up an iOS app with Firebase](https://firebase.google.com/docs/ios/setup). - Register your iOS app with Firebase. diff --git a/ump/integration_test/Podfile b/ump/integration_test/Podfile deleted file mode 100644 index 546034e9f4..0000000000 --- a/ump/integration_test/Podfile +++ /dev/null @@ -1,17 +0,0 @@ -source 'https://github.com/CocoaPods/Specs.git' -platform :ios, '15.0' -# Firebase UMP test application. -use_frameworks! :linkage => :static - -target 'integration_test' do - platform :ios, '15.0' - pod 'Firebase/CoreOnly', '12.18.0' - pod 'GoogleUserMessagingPlatform', '2.3.0' -end - -post_install do |installer| - # If this is running from inside the SDK directory, run the setup script. - system("if [[ -r ../../setup_integration_tests.py ]]; then python3 ../../setup_integration_tests.py .; fi") - system("python3 ./download_googletest.py") -end - diff --git a/ump/integration_test/integration_test.xcodeproj/project.pbxproj b/ump/integration_test/integration_test.xcodeproj/project.pbxproj index 6b7651922e..f3cd70f50c 100644 --- a/ump/integration_test/integration_test.xcodeproj/project.pbxproj +++ b/ump/integration_test/integration_test.xcodeproj/project.pbxproj @@ -7,6 +7,8 @@ objects = { /* Begin PBXBuildFile section */ + 1ABAD42B010000000001 /* FirebaseCore in Frameworks */ = {isa = PBXBuildFile; productRef = 1ABAD42B020000000001 /* FirebaseCore */; }; + 1ABAD42B010000000002 /* GoogleUserMessagingPlatform in Frameworks */ = {isa = PBXBuildFile; productRef = 1ABAD42B020000000002 /* GoogleUserMessagingPlatform */; }; 520BC0391C869159008CFBC3 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 520BC0381C869159008CFBC3 /* GoogleService-Info.plist */; }; 529226D61C85F68000C89379 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 529226D51C85F68000C89379 /* Foundation.framework */; }; 529226D81C85F68000C89379 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 529226D71C85F68000C89379 /* CoreGraphics.framework */; }; @@ -58,6 +60,9 @@ D686A3292A8B16F20034845A /* AppTrackingTransparency.framework in Frameworks */, 529226DA1C85F68000C89379 /* UIKit.framework in Frameworks */, 529226D61C85F68000C89379 /* Foundation.framework in Frameworks */, + + 1ABAD42B010000000001 /* FirebaseCore in Frameworks */, + 1ABAD42B010000000002 /* GoogleUserMessagingPlatform in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -140,6 +145,10 @@ dependencies = ( ); name = integration_test; + packageProductDependencies = ( + 1ABAD42B020000000001 /* FirebaseCore */, + 1ABAD42B020000000002 /* GoogleUserMessagingPlatform */, + ); productName = testapp; productReference = 529226D21C85F68000C89379 /* integration_test.app */; productType = "com.apple.product-type.application"; @@ -170,6 +179,10 @@ en, ); mainGroup = 529226C91C85F68000C89379; + packageReferences = ( + 1ABAD42B030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */, + 1ABAD42B030000000002 /* XCRemoteSwiftPackageReference "swift-package-manager-google-user-messaging-platform" */, + ); productRefGroup = 529226D31C85F68000C89379 /* Products */; projectDirPath = ""; projectRoot = ""; @@ -358,6 +371,38 @@ }; /* End XCBuildConfiguration section */ +/* Begin XCRemoteSwiftPackageReference section */ + 1ABAD42B030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/firebase/firebase-ios-sdk.git"; + requirement = { + kind = exactVersion; + version = 12.18.0; + }; + }; + 1ABAD42B030000000002 /* XCRemoteSwiftPackageReference "swift-package-manager-google-user-messaging-platform" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/googleads/swift-package-manager-google-user-messaging-platform.git"; + requirement = { + kind = exactVersion; + version = 2.3.0; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 1ABAD42B020000000001 /* FirebaseCore */ = { + isa = XCSwiftPackageProductDependency; + package = 1ABAD42B030000000001 /* XCRemoteSwiftPackageReference "firebase-ios-sdk" */; + productName = FirebaseCore; + }; + 1ABAD42B020000000002 /* GoogleUserMessagingPlatform */ = { + isa = XCSwiftPackageProductDependency; + package = 1ABAD42B030000000002 /* XCRemoteSwiftPackageReference "swift-package-manager-google-user-messaging-platform" */; + productName = GoogleUserMessagingPlatform; + }; +/* End XCSwiftPackageProductDependency section */ + /* Begin XCConfigurationList section */ 529226CD1C85F68000C89379 /* Build configuration list for PBXProject "integration_test" */ = { isa = XCConfigurationList; From 68bb39653ef66f35a4fc15be0693832fe537618a Mon Sep 17 00:00:00 2001 From: a-maurice Date: Tue, 8 Sep 2026 14:22:23 -0700 Subject: [PATCH 2/4] Fix Firestore tests, and other cleanup --- .../project.pbxproj | 47 ------- .../project.pbxproj | 47 ------- .../project.pbxproj | 83 ------------ .../project.pbxproj | 121 ++---------------- .../project.pbxproj | 47 ------- .../project.pbxproj | 47 ------- .../project.pbxproj | 47 ------- 7 files changed, 8 insertions(+), 431 deletions(-) diff --git a/analytics/integration_test/integration_test.xcodeproj/project.pbxproj b/analytics/integration_test/integration_test.xcodeproj/project.pbxproj index 81c4fa1330..fc15e3dbdb 100644 --- a/analytics/integration_test/integration_test.xcodeproj/project.pbxproj +++ b/analytics/integration_test/integration_test.xcodeproj/project.pbxproj @@ -279,53 +279,6 @@ }; /* End PBXResourcesBuildPhase section */ -/* Begin PBXShellScriptBuildPhase section */ - 8958A3A33BBDC5DD317A123E /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-integration_test_tvos-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - AD3D1FDEE4CF418AF7FD6E76 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-integration_test-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - /* Begin PBXSourcesBuildPhase section */ 529226CE1C85F68000C89379 /* Sources */ = { isa = PBXSourcesBuildPhase; diff --git a/auth/integration_test/integration_test.xcodeproj/project.pbxproj b/auth/integration_test/integration_test.xcodeproj/project.pbxproj index 6de8ce589b..792cc9e08c 100644 --- a/auth/integration_test/integration_test.xcodeproj/project.pbxproj +++ b/auth/integration_test/integration_test.xcodeproj/project.pbxproj @@ -306,53 +306,6 @@ }; /* End PBXResourcesBuildPhase section */ -/* Begin PBXShellScriptBuildPhase section */ - 267D9BF323B254AA726E6787 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-integration_test-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - E0368CAC834A70F7776F7FDB /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-integration_test_tvos-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - /* Begin PBXSourcesBuildPhase section */ 529226CE1C85F68000C89379 /* Sources */ = { isa = PBXSourcesBuildPhase; diff --git a/firestore/integration_test/integration_test.xcodeproj/project.pbxproj b/firestore/integration_test/integration_test.xcodeproj/project.pbxproj index 823f95f4cb..3525da411c 100644 --- a/firestore/integration_test/integration_test.xcodeproj/project.pbxproj +++ b/firestore/integration_test/integration_test.xcodeproj/project.pbxproj @@ -292,89 +292,6 @@ }; /* End PBXResourcesBuildPhase section */ -/* Begin PBXShellScriptBuildPhase section */ - 1C96465955A39E4476F3DC69 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-integration_test/Pods-integration_test-resources.sh", - "${PODS_CONFIGURATION_BUILD_DIR}/gRPC-C++-iOS/gRPCCertificates-Cpp.bundle", - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/gRPCCertificates-Cpp.bundle", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-integration_test/Pods-integration_test-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - 29D3313A9EA06B2C7A2CAB95 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-integration_test_tvos/Pods-integration_test_tvos-resources.sh", - "${PODS_CONFIGURATION_BUILD_DIR}/gRPC-C++-tvOS/gRPCCertificates-Cpp.bundle", - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/gRPCCertificates-Cpp.bundle", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-integration_test_tvos/Pods-integration_test_tvos-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - 98E7EA14293AC58D0BAD9DF7 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-integration_test-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - C7DE8E1609012C3C69772636 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-integration_test_tvos-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - /* Begin PBXSourcesBuildPhase section */ 529226CE1C85F68000C89379 /* Sources */ = { isa = PBXSourcesBuildPhase; diff --git a/firestore/integration_test_internal/integration_test.xcodeproj/project.pbxproj b/firestore/integration_test_internal/integration_test.xcodeproj/project.pbxproj index 84c69b8002..c9025ab399 100644 --- a/firestore/integration_test_internal/integration_test.xcodeproj/project.pbxproj +++ b/firestore/integration_test_internal/integration_test.xcodeproj/project.pbxproj @@ -40,8 +40,6 @@ 529226DA1C85F68000C89379 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 529226D91C85F68000C89379 /* UIKit.framework */; }; 6013D96CC99BE0D747E924BF /* firebase_auth.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6F2D5AB4DBDD804A38B51636 /* firebase_auth.framework */; }; 7B510B28CC034B1F8E1A89E0 /* firebase.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6C04D181B10689799EE4823D /* firebase.framework */; }; - 7DDCFC4B946EA9D8EB8FBDF2 /* Pods_integration_test_tvos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FD4B0A86D9AE5E39F1D9139D /* Pods_integration_test_tvos.framework */; }; - 86F6FDA3AA46B8DBA710380D /* Pods_integration_test.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4AAFA3E3DA9641C2E3C46C9D /* Pods_integration_test.framework */; }; B03DCEF24BED9C02CFA71109 /* firebase_auth.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8C4AC9C038C468519B583C7C /* firebase_auth.framework */; }; BC1D682C267B0030005DC2DA /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BC1D682A267B0030005DC2DA /* Main.storyboard */; }; BC1D6831267B0032005DC2DA /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BC1D682F267B0032005DC2DA /* LaunchScreen.storyboard */; }; @@ -138,7 +136,6 @@ 1BAFACA12A449C2B00834979 /* aggregate_count_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = aggregate_count_test.cc; path = src/aggregate_count_test.cc; sourceTree = ""; }; 1BAFACA22A449C2B00834979 /* aggregate_query_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = aggregate_query_test.cc; path = src/aggregate_query_test.cc; sourceTree = ""; }; 1BAFACA92A449CBD00834979 /* filter_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = filter_test.cc; path = src/filter_test.cc; sourceTree = ""; }; - 4AAFA3E3DA9641C2E3C46C9D /* Pods_integration_test.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_integration_test.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 520BC0381C869159008CFBC3 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; 529226D21C85F68000C89379 /* integration_test.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = integration_test.app; sourceTree = BUILT_PRODUCTS_DIR; }; 529226D51C85F68000C89379 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; @@ -202,7 +199,6 @@ EAFAF9474EC412ADCC65F2CC /* firebase_firestore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = firebase_firestore.framework; path = Frameworks/firebase_firestore.framework; sourceTree = ""; }; ED39362628657B740050FE2B /* transaction_options_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = transaction_options_test.cc; path = src/transaction_options_test.cc; sourceTree = ""; }; EDEEC7622800CD0000EFBAAF /* leveldb_snappy_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = leveldb_snappy_test.cc; path = src/leveldb_snappy_test.cc; sourceTree = ""; }; - FD4B0A86D9AE5E39F1D9139D /* Pods_integration_test_tvos.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_integration_test_tvos.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -218,7 +214,6 @@ D86FB1D3D4A592C451A29369 /* firebase_firestore.framework in Frameworks */, 6013D96CC99BE0D747E924BF /* firebase_auth.framework in Frameworks */, 5270BB448DF5ECE860FDD68B /* firebase_firestore.framework in Frameworks */, - 86F6FDA3AA46B8DBA710380D /* Pods_integration_test.framework in Frameworks */, 1A351229010000000001 /* FirebaseFirestore in Frameworks */, 1A351229010000000002 /* FirebaseAuth in Frameworks */, @@ -232,7 +227,6 @@ BC1D685E267B0116005DC2DA /* CoreGraphics.framework in Frameworks */, BC1D685C267B0112005DC2DA /* UIKit.framework in Frameworks */, BC1D685A267B010D005DC2DA /* Foundation.framework in Frameworks */, - 7DDCFC4B946EA9D8EB8FBDF2 /* Pods_integration_test_tvos.framework in Frameworks */, 1A351229010000000003 /* FirebaseFirestore in Frameworks */, 1A351229010000000004 /* FirebaseAuth in Frameworks */, @@ -276,8 +270,6 @@ 529226D71C85F68000C89379 /* CoreGraphics.framework */, 529226D91C85F68000C89379 /* UIKit.framework */, 529226EE1C85F68000C89379 /* XCTest.framework */, - 4AAFA3E3DA9641C2E3C46C9D /* Pods_integration_test.framework */, - FD4B0A86D9AE5E39F1D9139D /* Pods_integration_test_tvos.framework */, ); name = Frameworks; sourceTree = ""; @@ -487,89 +479,6 @@ }; /* End PBXResourcesBuildPhase section */ -/* Begin PBXShellScriptBuildPhase section */ - 885207C8AFF3010751D8174F /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-integration_test_tvos-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - 9F70D44D33C0014531523672 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-integration_test/Pods-integration_test-resources.sh", - "${PODS_CONFIGURATION_BUILD_DIR}/gRPC-C++-iOS/gRPCCertificates-Cpp.bundle", - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/gRPCCertificates-Cpp.bundle", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-integration_test/Pods-integration_test-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - D0F609B857F394F4380A7F47 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-integration_test-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - DE1A8C260E5ED2A1DB7CC213 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-integration_test_tvos/Pods-integration_test_tvos-resources.sh", - "${PODS_CONFIGURATION_BUILD_DIR}/gRPC-C++-tvOS/gRPCCertificates-Cpp.bundle", - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/gRPCCertificates-Cpp.bundle", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-integration_test_tvos/Pods-integration_test_tvos-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - /* Begin PBXSourcesBuildPhase section */ 529226CE1C85F68000C89379 /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -795,7 +704,6 @@ ); GCC_PREPROCESSOR_DEFINITIONS = ( "$(inherited)", - "COCOAPODS=1", "$(inherited)", "PB_FIELD_32BIT=1", "PB_NO_PACKED_STRUCTS=1", @@ -810,12 +718,9 @@ "\"$(SRCROOT)/external/googletest/src/googlemock/include\"", "\"$(SRCROOT)/external/googletest/src/googletest\"", "\"$(SRCROOT)/external/googletest/src/googlemock\"", - "\"$(SRCROOT)/Pods/FirebaseFirestore\"", - "\"$(SRCROOT)/Pods/FirebaseFirestoreInternal\"", - "\"$(SRCROOT)/Pods/FirebaseFirestore/Firestore/Protos/nanopb\"", - "\"$(SRCROOT)/Pods/FirebaseFirestoreInternal/Firestore/Protos/nanopb\"", + "\"$(OBJROOT)/../../SourcePackages/checkouts/firebase-ios-sdk\"", + "\"$(OBJROOT)/../../SourcePackages/checkouts/firebase-ios-sdk/Firestore/Protos/nanopb\"", "\"$(SRCROOT)/../..\"", - "/Users/wuandy/projects/firebase-cpp-sdk", ); INFOPLIST_FILE = "$(SRCROOT)/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; @@ -844,7 +749,6 @@ ); GCC_PREPROCESSOR_DEFINITIONS = ( "$(inherited)", - "COCOAPODS=1", "$(inherited)", "PB_FIELD_32BIT=1", "PB_NO_PACKED_STRUCTS=1", @@ -859,12 +763,9 @@ "\"$(SRCROOT)/external/googletest/src/googlemock/include\"", "\"$(SRCROOT)/external/googletest/src/googletest\"", "\"$(SRCROOT)/external/googletest/src/googlemock\"", - "\"$(SRCROOT)/Pods/FirebaseFirestore\"", - "\"$(SRCROOT)/Pods/FirebaseFirestoreInternal\"", - "\"$(SRCROOT)/Pods/FirebaseFirestore/Firestore/Protos/nanopb\"", - "\"$(SRCROOT)/Pods/FirebaseFirestoreInternal/Firestore/Protos/nanopb\"", + "\"$(OBJROOT)/../../SourcePackages/checkouts/firebase-ios-sdk\"", + "\"$(OBJROOT)/../../SourcePackages/checkouts/firebase-ios-sdk/Firestore/Protos/nanopb\"", "\"$(SRCROOT)/../..\"", - "/Users/wuandy/projects/firebase-cpp-sdk", ); INFOPLIST_FILE = "$(SRCROOT)/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; @@ -912,7 +813,6 @@ GCC_C_LANGUAGE_STANDARD = gnu11; GCC_PREPROCESSOR_DEFINITIONS = ( "$(inherited)", - "COCOAPODS=1", "$(inherited)", "PB_FIELD_32BIT=1", "PB_NO_PACKED_STRUCTS=1", @@ -927,10 +827,8 @@ "\"$(SRCROOT)/external/googletest/src/googlemock/include\"", "\"$(SRCROOT)/external/googletest/src/googletest\"", "\"$(SRCROOT)/external/googletest/src/googlemock\"", - "\"$(SRCROOT)/Pods/FirebaseFirestore\"", - "\"$(SRCROOT)/Pods/FirebaseFirestoreInternal\"", - "\"$(SRCROOT)/Pods/FirebaseFirestore/Firestore/Protos/nanopb\"", - "\"$(SRCROOT)/Pods/FirebaseFirestoreInternal/Firestore/Protos/nanopb\"", + "\"$(OBJROOT)/../../SourcePackages/checkouts/firebase-ios-sdk\"", + "\"$(OBJROOT)/../../SourcePackages/checkouts/firebase-ios-sdk/Firestore/Protos/nanopb\"", "\"$(SRCROOT)/../..\"", ); INFOPLIST_FILE = "$(SRCROOT)/Info.plist"; @@ -983,7 +881,6 @@ GCC_C_LANGUAGE_STANDARD = gnu11; GCC_PREPROCESSOR_DEFINITIONS = ( "$(inherited)", - "COCOAPODS=1", "$(inherited)", "PB_FIELD_32BIT=1", "PB_NO_PACKED_STRUCTS=1", @@ -998,10 +895,8 @@ "\"$(SRCROOT)/external/googletest/src/googlemock/include\"", "\"$(SRCROOT)/external/googletest/src/googletest\"", "\"$(SRCROOT)/external/googletest/src/googlemock\"", - "\"$(SRCROOT)/Pods/FirebaseFirestore\"", - "\"$(SRCROOT)/Pods/FirebaseFirestoreInternal\"", - "\"$(SRCROOT)/Pods/FirebaseFirestore/Firestore/Protos/nanopb\"", - "\"$(SRCROOT)/Pods/FirebaseFirestoreInternal/Firestore/Protos/nanopb\"", + "\"$(OBJROOT)/../../SourcePackages/checkouts/firebase-ios-sdk\"", + "\"$(OBJROOT)/../../SourcePackages/checkouts/firebase-ios-sdk/Firestore/Protos/nanopb\"", "\"$(SRCROOT)/../..\"", ); INFOPLIST_FILE = "$(SRCROOT)/Info.plist"; diff --git a/functions/integration_test/integration_test.xcodeproj/project.pbxproj b/functions/integration_test/integration_test.xcodeproj/project.pbxproj index 7c2f1a955d..92d5c198aa 100644 --- a/functions/integration_test/integration_test.xcodeproj/project.pbxproj +++ b/functions/integration_test/integration_test.xcodeproj/project.pbxproj @@ -299,53 +299,6 @@ }; /* End PBXResourcesBuildPhase section */ -/* Begin PBXShellScriptBuildPhase section */ - 5B11D4C36316764A33CEA40E /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-integration_test-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - CAEA919B30700F0E6326A7F0 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-integration_test_tvos-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - /* Begin PBXSourcesBuildPhase section */ 529226CE1C85F68000C89379 /* Sources */ = { isa = PBXSourcesBuildPhase; diff --git a/remote_config/integration_test/integration_test.xcodeproj/project.pbxproj b/remote_config/integration_test/integration_test.xcodeproj/project.pbxproj index 759693001a..5f401b2bf5 100644 --- a/remote_config/integration_test/integration_test.xcodeproj/project.pbxproj +++ b/remote_config/integration_test/integration_test.xcodeproj/project.pbxproj @@ -281,53 +281,6 @@ }; /* End PBXResourcesBuildPhase section */ -/* Begin PBXShellScriptBuildPhase section */ - 8958A3A33BBDC5DD317A123E /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-integration_test_tvos-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - AD3D1FDEE4CF418AF7FD6E76 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-integration_test-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - /* Begin PBXSourcesBuildPhase section */ 529226CE1C85F68000C89379 /* Sources */ = { isa = PBXSourcesBuildPhase; diff --git a/storage/integration_test/integration_test.xcodeproj/project.pbxproj b/storage/integration_test/integration_test.xcodeproj/project.pbxproj index e3e46ce56d..7683358720 100644 --- a/storage/integration_test/integration_test.xcodeproj/project.pbxproj +++ b/storage/integration_test/integration_test.xcodeproj/project.pbxproj @@ -298,53 +298,6 @@ }; /* End PBXResourcesBuildPhase section */ -/* Begin PBXShellScriptBuildPhase section */ - 8FCAE2025BB2DFF835E8E1F2 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-integration_test-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - CD5DE9F9B52A58935BBB0C9B /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-integration_test_tvos-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - /* Begin PBXSourcesBuildPhase section */ 529226CE1C85F68000C89379 /* Sources */ = { isa = PBXSourcesBuildPhase; From 68db2707341609db6ba9376ac11c70ce4ee68ad3 Mon Sep 17 00:00:00 2001 From: a-maurice Date: Mon, 21 Sep 2026 15:10:12 -0700 Subject: [PATCH 3/4] Update SPM versions --- .../integration_test/integration_test.xcodeproj/project.pbxproj | 2 +- app/integration_test/integration_test.xcodeproj/project.pbxproj | 2 +- .../integration_test/integration_test.xcodeproj/project.pbxproj | 2 +- .../integration_test/integration_test.xcodeproj/project.pbxproj | 2 +- .../integration_test/integration_test.xcodeproj/project.pbxproj | 2 +- .../integration_test/integration_test.xcodeproj/project.pbxproj | 2 +- .../integration_test.xcodeproj/project.pbxproj | 2 +- .../integration_test/integration_test.xcodeproj/project.pbxproj | 2 +- .../integration_test/integration_test.xcodeproj/project.pbxproj | 2 +- .../integration_test/integration_test.xcodeproj/project.pbxproj | 2 +- .../integration_test/integration_test.xcodeproj/project.pbxproj | 2 +- .../integration_test/integration_test.xcodeproj/project.pbxproj | 2 +- ump/integration_test/integration_test.xcodeproj/project.pbxproj | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/analytics/integration_test/integration_test.xcodeproj/project.pbxproj b/analytics/integration_test/integration_test.xcodeproj/project.pbxproj index fc15e3dbdb..8ad1bfcbd7 100644 --- a/analytics/integration_test/integration_test.xcodeproj/project.pbxproj +++ b/analytics/integration_test/integration_test.xcodeproj/project.pbxproj @@ -588,7 +588,7 @@ repositoryURL = "https://github.com/firebase/firebase-ios-sdk.git"; requirement = { kind = exactVersion; - version = 12.18.0; + version = 12.19.0; }; }; /* End XCRemoteSwiftPackageReference section */ diff --git a/app/integration_test/integration_test.xcodeproj/project.pbxproj b/app/integration_test/integration_test.xcodeproj/project.pbxproj index da6653c4e7..4b0446a3fc 100644 --- a/app/integration_test/integration_test.xcodeproj/project.pbxproj +++ b/app/integration_test/integration_test.xcodeproj/project.pbxproj @@ -367,7 +367,7 @@ repositoryURL = "https://github.com/firebase/firebase-ios-sdk.git"; requirement = { kind = exactVersion; - version = 12.18.0; + version = 12.19.0; }; }; /* End XCRemoteSwiftPackageReference section */ diff --git a/app_check/integration_test/integration_test.xcodeproj/project.pbxproj b/app_check/integration_test/integration_test.xcodeproj/project.pbxproj index 5b499359ed..87bc70fb76 100644 --- a/app_check/integration_test/integration_test.xcodeproj/project.pbxproj +++ b/app_check/integration_test/integration_test.xcodeproj/project.pbxproj @@ -616,7 +616,7 @@ repositoryURL = "https://github.com/firebase/firebase-ios-sdk.git"; requirement = { kind = exactVersion; - version = 12.18.0; + version = 12.19.0; }; }; /* End XCRemoteSwiftPackageReference section */ diff --git a/auth/integration_test/integration_test.xcodeproj/project.pbxproj b/auth/integration_test/integration_test.xcodeproj/project.pbxproj index 792cc9e08c..cd62b569a6 100644 --- a/auth/integration_test/integration_test.xcodeproj/project.pbxproj +++ b/auth/integration_test/integration_test.xcodeproj/project.pbxproj @@ -617,7 +617,7 @@ repositoryURL = "https://github.com/firebase/firebase-ios-sdk.git"; requirement = { kind = exactVersion; - version = 12.18.0; + version = 12.19.0; }; }; /* End XCRemoteSwiftPackageReference section */ diff --git a/database/integration_test/integration_test.xcodeproj/project.pbxproj b/database/integration_test/integration_test.xcodeproj/project.pbxproj index 14aaa28c50..5a376f43e5 100644 --- a/database/integration_test/integration_test.xcodeproj/project.pbxproj +++ b/database/integration_test/integration_test.xcodeproj/project.pbxproj @@ -598,7 +598,7 @@ repositoryURL = "https://github.com/firebase/firebase-ios-sdk.git"; requirement = { kind = exactVersion; - version = 12.18.0; + version = 12.19.0; }; }; /* End XCRemoteSwiftPackageReference section */ diff --git a/firestore/integration_test/integration_test.xcodeproj/project.pbxproj b/firestore/integration_test/integration_test.xcodeproj/project.pbxproj index 3525da411c..26d07c3b1a 100644 --- a/firestore/integration_test/integration_test.xcodeproj/project.pbxproj +++ b/firestore/integration_test/integration_test.xcodeproj/project.pbxproj @@ -609,7 +609,7 @@ repositoryURL = "https://github.com/firebase/firebase-ios-sdk.git"; requirement = { kind = exactVersion; - version = 12.18.0; + version = 12.19.0; }; }; /* End XCRemoteSwiftPackageReference section */ diff --git a/firestore/integration_test_internal/integration_test.xcodeproj/project.pbxproj b/firestore/integration_test_internal/integration_test.xcodeproj/project.pbxproj index c9025ab399..f0d41af0fb 100644 --- a/firestore/integration_test_internal/integration_test.xcodeproj/project.pbxproj +++ b/firestore/integration_test_internal/integration_test.xcodeproj/project.pbxproj @@ -920,7 +920,7 @@ repositoryURL = "https://github.com/firebase/firebase-ios-sdk.git"; requirement = { kind = exactVersion; - version = 12.18.0; + version = 12.19.0; }; }; /* End XCRemoteSwiftPackageReference section */ diff --git a/functions/integration_test/integration_test.xcodeproj/project.pbxproj b/functions/integration_test/integration_test.xcodeproj/project.pbxproj index 92d5c198aa..6d2718c3a4 100644 --- a/functions/integration_test/integration_test.xcodeproj/project.pbxproj +++ b/functions/integration_test/integration_test.xcodeproj/project.pbxproj @@ -616,7 +616,7 @@ repositoryURL = "https://github.com/firebase/firebase-ios-sdk.git"; requirement = { kind = exactVersion; - version = 12.18.0; + version = 12.19.0; }; }; /* End XCRemoteSwiftPackageReference section */ diff --git a/installations/integration_test/integration_test.xcodeproj/project.pbxproj b/installations/integration_test/integration_test.xcodeproj/project.pbxproj index 45c53b3e6e..d37bd46d6a 100644 --- a/installations/integration_test/integration_test.xcodeproj/project.pbxproj +++ b/installations/integration_test/integration_test.xcodeproj/project.pbxproj @@ -370,7 +370,7 @@ repositoryURL = "https://github.com/firebase/firebase-ios-sdk.git"; requirement = { kind = exactVersion; - version = 12.18.0; + version = 12.19.0; }; }; /* End XCRemoteSwiftPackageReference section */ diff --git a/messaging/integration_test/integration_test.xcodeproj/project.pbxproj b/messaging/integration_test/integration_test.xcodeproj/project.pbxproj index fa115e9680..73f535437c 100644 --- a/messaging/integration_test/integration_test.xcodeproj/project.pbxproj +++ b/messaging/integration_test/integration_test.xcodeproj/project.pbxproj @@ -605,7 +605,7 @@ repositoryURL = "https://github.com/firebase/firebase-ios-sdk.git"; requirement = { kind = exactVersion; - version = 12.18.0; + version = 12.19.0; }; }; /* End XCRemoteSwiftPackageReference section */ diff --git a/remote_config/integration_test/integration_test.xcodeproj/project.pbxproj b/remote_config/integration_test/integration_test.xcodeproj/project.pbxproj index 5f401b2bf5..bdd23a55da 100644 --- a/remote_config/integration_test/integration_test.xcodeproj/project.pbxproj +++ b/remote_config/integration_test/integration_test.xcodeproj/project.pbxproj @@ -590,7 +590,7 @@ repositoryURL = "https://github.com/firebase/firebase-ios-sdk.git"; requirement = { kind = exactVersion; - version = 12.18.0; + version = 12.19.0; }; }; /* End XCRemoteSwiftPackageReference section */ diff --git a/storage/integration_test/integration_test.xcodeproj/project.pbxproj b/storage/integration_test/integration_test.xcodeproj/project.pbxproj index 7683358720..23229e1906 100644 --- a/storage/integration_test/integration_test.xcodeproj/project.pbxproj +++ b/storage/integration_test/integration_test.xcodeproj/project.pbxproj @@ -615,7 +615,7 @@ repositoryURL = "https://github.com/firebase/firebase-ios-sdk.git"; requirement = { kind = exactVersion; - version = 12.18.0; + version = 12.19.0; }; }; /* End XCRemoteSwiftPackageReference section */ diff --git a/ump/integration_test/integration_test.xcodeproj/project.pbxproj b/ump/integration_test/integration_test.xcodeproj/project.pbxproj index f3cd70f50c..f0a8b9b4dc 100644 --- a/ump/integration_test/integration_test.xcodeproj/project.pbxproj +++ b/ump/integration_test/integration_test.xcodeproj/project.pbxproj @@ -377,7 +377,7 @@ repositoryURL = "https://github.com/firebase/firebase-ios-sdk.git"; requirement = { kind = exactVersion; - version = 12.18.0; + version = 12.19.0; }; }; 1ABAD42B030000000002 /* XCRemoteSwiftPackageReference "swift-package-manager-google-user-messaging-platform" */ = { From a1131daf5e59fe158d336e20d5221ab84bde5013 Mon Sep 17 00:00:00 2001 From: a-maurice Date: Mon, 21 Sep 2026 15:38:23 -0700 Subject: [PATCH 4/4] Update update_android_ios_dependencies.py --- scripts/update_android_ios_dependencies.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/scripts/update_android_ios_dependencies.py b/scripts/update_android_ios_dependencies.py index 613d9d8e6d..99d0083977 100644 --- a/scripts/update_android_ios_dependencies.py +++ b/scripts/update_android_ios_dependencies.py @@ -385,7 +385,7 @@ def modify_pod_file(pod_file, pod_version_map, dryrun=True, ignore_ios_versions= ) def modify_project_file_spm(project_file, pod_version_map, dryrun=True, - ignore_ios_versions=[]): + ignore_ios_versions=None): """Update Swift Package versions in specified project.pbxproj file. Args: @@ -396,8 +396,10 @@ def modify_project_file_spm(project_file, pod_version_map, dryrun=True, ignore_ios_versions (set): If the old version number for a package matches one of these, don't update it. """ + if ignore_ios_versions is None: + ignore_ios_versions = [] global logfile_lines - with open(project_file, "r") as f: + with open(project_file, "r", encoding="utf-8") as f: content = f.read() substituted_pairs = [] @@ -447,7 +449,7 @@ def replace_spm_block(match): print('(-) ' + original + '\n(+) ' + substituted) if not dryrun: - with open(project_file, "w") as f: + with open(project_file, "w", encoding="utf-8") as f: f.write(new_content) print()