Skip to content

Commit

Permalink
Client App updates for auth-swift and Xcode 15 (#12231)
Browse files Browse the repository at this point in the history
Co-authored-by: Nick Cooke <36927374+ncooke3@users.noreply.github.com>
  • Loading branch information
paulb777 and ncooke3 authored Jan 3, 2024
1 parent 3d09cc0 commit e80e58e
Show file tree
Hide file tree
Showing 12 changed files with 160 additions and 42 deletions.
12 changes: 9 additions & 3 deletions .github/workflows/client_app.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ concurrency:
jobs:
client-app-spm:
if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
runs-on: macos-12
runs-on: macos-13
strategy:
matrix:
#TODO(ncooke3): Add multi-platform support: tvOS, macOS, catalyst
Expand All @@ -36,6 +36,8 @@ jobs:
- uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
with:
cache_key: ${{ matrix.os }}
- name: Xcode
run: sudo xcode-select -s /Applications/Xcode_15.1.app/Contents/Developer
- name: Build Client App –– ${{ matrix.platform }}
run: scripts/third_party/travis/retry.sh ./scripts/build.sh ${{ matrix.scheme }} ${{ matrix.platform }} xcodebuild

Expand All @@ -44,7 +46,7 @@ jobs:
env:
FIREBASECI_USE_LATEST_GOOGLEAPPMEASUREMENT: 1
FIREBASE_SOURCE_FIRESTORE: 1
runs-on: macos-12
runs-on: macos-13
strategy:
matrix:
#TODO(ncooke3): Add multi-platform support: tvOS, macOS, catalyst
Expand All @@ -55,13 +57,15 @@ jobs:
- uses: mikehardy/buildcache-action@c87cea0ccd718971d6cc39e672c4f26815b6c126
with:
cache_key: ${{ matrix.os }}
- name: Xcode
run: sudo xcode-select -s /Applications/Xcode_15.1.app/Contents/Developer
- name: Build Client App –– ${{ matrix.platform }}
run: scripts/third_party/travis/retry.sh ./scripts/build.sh ${{ matrix.scheme }} ${{ matrix.platform }} xcodebuild

client-app-cocoapods:
# Don't run on private repo unless it is a PR.
if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
runs-on: macos-12
runs-on: macos-13
strategy:
matrix:
scheme: [ClientApp-CocoaPods, ClientApp-CocoaPods-iOS13]
Expand All @@ -73,6 +77,8 @@ jobs:
- uses: ruby/setup-ruby@v1
- name: Setup Bundler
run: scripts/setup_bundler.sh
- name: Xcode
run: sudo xcode-select -s /Applications/Xcode_15.1.app/Contents/Developer
- name: Prereqs
run: scripts/install_prereqs.sh ClientApp iOS xcodebuild
- name: Build
Expand Down
82 changes: 52 additions & 30 deletions IntegrationTesting/ClientApp/ClientApp.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion IntegrationTesting/ClientApp/Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ target 'ClientApp-CocoaPods' do
pod 'FirebaseRemoteConfig', :path => '../../'
pod 'FirebaseRemoteConfigSwift', :path => '../../'
pod 'FirebaseAppDistribution', :path => '../../'
pod 'FirebaseAuth', :path => '../../'
pod 'FirebaseCrashlytics', :path => '../../'
pod 'FirebaseDatabase', :path => '../../'
pod 'FirebaseDatabaseSwift', :path => '../../'
Expand All @@ -39,6 +38,7 @@ target 'ClientApp-CocoaPods-iOS13' do

pod 'FirebaseAnalytics' # Binary pods don't work with `:path`.
pod 'FirebaseAnalyticsSwift', :path => '../../' # Requires iOS 13.0+
pod 'FirebaseAuth', :path => '../../' # Requires iOS 13.0+
pod 'FirebaseInAppMessaging', :path => '../../'
pod 'FirebaseInAppMessagingSwift', :path => '../../' # Requires iOS 13.0+

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
#if TARGET_OS_IOS && !TARGET_OS_MACCATALYST
@import FirebaseAppDistribution;
#endif
@import FirebaseAuth;
@import FirebaseCore;
@import FirebaseCrashlytics;
@import FirebaseDatabase;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,9 @@
#import <FirebaseAppDistribution/FirebaseAppDistribution.h>
#import "FirebaseAppDistribution/FirebaseAppDistribution.h"
#endif
#import <FirebaseAuth/FirebaseAuth.h>
#import <FirebaseCore/FirebaseCore.h>
#import <FirebaseCrashlytics/FirebaseCrashlytics.h>
#import <FirebaseDatabase/FirebaseDatabase.h>
#import "FirebaseAuth/FirebaseAuth.h"
#import "FirebaseCore/FirebaseCore.h"
#import "FirebaseCrashlytics/FirebaseCrashlytics.h"
#import "FirebaseDatabase/FirebaseDatabase.h"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,6 @@ import FirebaseAppCheck
#if os(iOS) && !targetEnvironment(macCatalyst)
import FirebaseAppDistribution
#endif
import FirebaseAuth
#if SWIFT_PACKAGE
import FirebaseAuthCombineSwift
#endif // SWIFT_PACKAGE
import FirebaseCore
import FirebaseCrashlytics
import FirebaseDatabase
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// This file imports all Firebase products that vend an umbrella header.
// Products implemented in Swift are therefore omitted.

// ‼️ NOTE: Changes should also be reflected in `objcxx-header-import-test.m`.

#import <Firebase.h>
#import <FirebaseABTesting/FirebaseABTesting.h>
#import <FirebaseAnalytics/FirebaseAnalytics.h>
#import <FirebaseAuth/FirebaseAuth.h>
#import <FirebaseCore/FirebaseCore.h>
#import "Firebase.h"
#import "FirebaseABTesting/FirebaseABTesting.h"
#import "FirebaseAnalytics/FirebaseAnalytics.h"
#import "FirebaseAuth/FirebaseAuth.h"
#import "FirebaseCore/FirebaseCore.h"
#if (TARGET_OS_IOS && !TARGET_OS_MACCATALYST) || TARGET_OS_TV
#import <FirebaseInAppMessaging/FirebaseInAppMessaging.h>
#import "FirebaseInAppMessaging/FirebaseInAppMessaging.h"
#endif
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// ‼️ NOTE: Changes should also be reflected in `objcxx-module-import-test.m`.

#if !COCOAPODS
// TODO(ncooke3): Figure out why this isn't working on CocoaPods.
@import Firebase;
#endif // !COCOAPODS
@import FirebaseABTesting;
@import FirebaseAnalytics;
@import FirebaseAuth;
@import FirebaseCore;
#if (TARGET_OS_IOS && !TARGET_OS_MACCATALYST) || TARGET_OS_TV
@import FirebaseInAppMessaging;
#endif
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// This file imports all Firebase products that vend an umbrella header.
// Products implemented in Swift are therefore omitted.

// ‼️ Changes should also be reflected in `objc-header-import-test.m`.

#import <Firebase.h>
#import <FirebaseABTesting/FirebaseABTesting.h>
#import <FirebaseAnalytics/FirebaseAnalytics.h>
#import <FirebaseAuth/FirebaseAuth.h>
#import <FirebaseCore/FirebaseCore.h>
#import "Firebase.h"
#import "FirebaseABTesting/FirebaseABTesting.h"
#import "FirebaseAnalytics/FirebaseAnalytics.h"
#import "FirebaseAuth/FirebaseAuth.h"
#import "FirebaseCore/FirebaseCore.h"
#if (TARGET_OS_IOS && !TARGET_OS_MACCATALYST) || TARGET_OS_TV
#import <FirebaseInAppMessaging/FirebaseInAppMessaging.h>
#import "FirebaseInAppMessaging/FirebaseInAppMessaging.h"
#endif
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@

import FirebaseAnalytics
import FirebaseAnalyticsSwift
import FirebaseAuth
#if SWIFT_PACKAGE
import FirebaseAuthCombineSwift
#endif // SWIFT_PACKAGE
#if (os(iOS) && !targetEnvironment(macCatalyst)) || os(tvOS)
import FirebaseInAppMessaging
import FirebaseInAppMessagingSwift
Expand Down
2 changes: 1 addition & 1 deletion Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ let firebaseVersion = "10.20.0"

let package = Package(
name: "Firebase",
platforms: [.iOS(.v11), .macCatalyst(.v13), .macOS(.v10_13), .tvOS(.v12), .watchOS(.v7)],
platforms: [.iOS(.v12), .macCatalyst(.v13), .macOS(.v10_13), .tvOS(.v12), .watchOS(.v7)],
products: [
.library(
name: "FirebaseAnalytics",
Expand Down

0 comments on commit e80e58e

Please sign in to comment.