From 4e185e010f796999b1fce46aa572fb845662400e Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 2 Sep 2026 17:57:07 -0400 Subject: [PATCH 1/8] ci(auth): add CocoaPods pod_lib_lint_app_extension test for app extension import --- .github/workflows/sdk.auth.yml | 16 +++++++++++++ FirebaseAuth.podspec | 10 ++++++++ .../Tests/AppExtension/AppExtensionTest.m | 24 +++++++++++++++++++ 3 files changed, 50 insertions(+) create mode 100644 FirebaseAuth/Tests/AppExtension/AppExtensionTest.m diff --git a/.github/workflows/sdk.auth.yml b/.github/workflows/sdk.auth.yml index 6ef560baddc..b9e3bc27ef5 100644 --- a/.github/workflows/sdk.auth.yml +++ b/.github/workflows/sdk.auth.yml @@ -43,6 +43,14 @@ jobs: buildonly_platforms: iOS extra_flags: APPLICATION_EXTENSION_API_ONLY=YES + objc_import_app_extension: + uses: ./.github/workflows/_spm.yml + with: + target: FirebaseAuthExtensionTest + platforms: iOS + buildonly_platforms: iOS + extra_flags: APPLICATION_EXTENSION_API_ONLY=YES + catalyst: uses: ./.github/workflows/_catalyst.yml with: @@ -59,6 +67,14 @@ jobs: product: ${{ matrix.product }} buildonly_platforms: macOS + pod_lib_lint_app_extension: + uses: ./.github/workflows/_cocoapods.yml + with: + product: FirebaseAuth + platforms: iOS + buildonly_platforms: iOS + test_specs: app_extension + integration-tests: # 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' && github.event.pull_request.head.repo.fork == false) diff --git a/FirebaseAuth.podspec b/FirebaseAuth.podspec index 568050e6d5d..8e3c34ddab7 100644 --- a/FirebaseAuth.podspec +++ b/FirebaseAuth.podspec @@ -75,4 +75,14 @@ supports email and password accounts, as well as several 3rd party authenticatio # app_host is needed for tests with keychain unit_tests.requires_app_host = true end + + s.test_spec 'app_extension' do |app_extension_tests| + app_extension_tests.platforms = { + :ios => ios_deployment_target + } + app_extension_tests.source_files = 'FirebaseAuth/Tests/AppExtension/**/*.{m,h,swift}' + app_extension_tests.pod_target_xcconfig = { + 'APPLICATION_EXTENSION_API_ONLY' => 'YES' + } + end end diff --git a/FirebaseAuth/Tests/AppExtension/AppExtensionTest.m b/FirebaseAuth/Tests/AppExtension/AppExtensionTest.m new file mode 100644 index 00000000000..813084afe59 --- /dev/null +++ b/FirebaseAuth/Tests/AppExtension/AppExtensionTest.m @@ -0,0 +1,24 @@ +// Copyright 2026 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. + +#import +#import +#import +#import + +@interface AppExtensionTest : NSObject +@end + +@implementation AppExtensionTest +@end From e47c41fa905b04668b6b19dcc993ad2592785a08 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 2 Sep 2026 18:17:58 -0400 Subject: [PATCH 2/8] fix(auth): mark web view presenters unavailable in app extensions --- FirebaseAuth/CHANGELOG.md | 2 ++ FirebaseAuth/Sources/Swift/Auth/AuthComponent.swift | 1 - .../Sources/Swift/Utilities/AuthURLPresenter.swift | 4 ++++ .../Sources/Swift/Utilities/AuthWebViewController.swift | 8 ++++++++ 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/FirebaseAuth/CHANGELOG.md b/FirebaseAuth/CHANGELOG.md index 3b47ccbe470..9455f2b505b 100644 --- a/FirebaseAuth/CHANGELOG.md +++ b/FirebaseAuth/CHANGELOG.md @@ -1,6 +1,8 @@ # 12.19.0 - [fixed] Fixed a build error in app extensions introduced in 12.18.0, where `AuthNotificationManager` referenced `UIApplication.shared` directly. (#16583) +- [fixed] Fixed a build error in Objective-C app extensions by marking web view + presenters unavailable in app extensions. (#16590) - [fixed] Fixed a persistent crash when interacting with App Check under some Swift toolchains (like the Flutter SDK) by avoiding a compiler bug in Swift concurrency thunk generation. (#16549) diff --git a/FirebaseAuth/Sources/Swift/Auth/AuthComponent.swift b/FirebaseAuth/Sources/Swift/Auth/AuthComponent.swift index daef3287670..d4c27f011eb 100644 --- a/FirebaseAuth/Sources/Swift/Auth/AuthComponent.swift +++ b/FirebaseAuth/Sources/Swift/Auth/AuthComponent.swift @@ -19,7 +19,6 @@ import FirebaseAuthInterop import FirebaseCore import FirebaseCoreExtension -@objc(FIRAuthComponent) class AuthComponent: NSObject, Library, ComponentLifecycleMaintainer { // MARK: - Private Variables diff --git a/FirebaseAuth/Sources/Swift/Utilities/AuthURLPresenter.swift b/FirebaseAuth/Sources/Swift/Utilities/AuthURLPresenter.swift index b6cd1a4fa84..1c962c4f834 100644 --- a/FirebaseAuth/Sources/Swift/Utilities/AuthURLPresenter.swift +++ b/FirebaseAuth/Sources/Swift/Utilities/AuthURLPresenter.swift @@ -20,6 +20,10 @@ import WebKit /// A Class responsible for presenting URL via SFSafariViewController or WKWebView. + @available(iOSApplicationExtension, unavailable) + @available(tvOSApplicationExtension, unavailable) + @available(macCatalystApplicationExtension, unavailable) + @available(watchOSApplicationExtension, unavailable) class AuthURLPresenter: NSObject, SFSafariViewControllerDelegate, AuthWebViewControllerDelegate { /// Presents an URL to interact with user. diff --git a/FirebaseAuth/Sources/Swift/Utilities/AuthWebViewController.swift b/FirebaseAuth/Sources/Swift/Utilities/AuthWebViewController.swift index e629578f12f..a5a1ca625c9 100644 --- a/FirebaseAuth/Sources/Swift/Utilities/AuthWebViewController.swift +++ b/FirebaseAuth/Sources/Swift/Utilities/AuthWebViewController.swift @@ -19,6 +19,10 @@ import WebKit /// Defines a delegate for AuthWebViewController + @available(iOSApplicationExtension, unavailable) + @available(tvOSApplicationExtension, unavailable) + @available(macCatalystApplicationExtension, unavailable) + @available(watchOSApplicationExtension, unavailable) protocol AuthWebViewControllerDelegate: AnyObject { /// Notifies the delegate that the web view controller is being cancelled by the user. /// - Parameter webViewController: The web view controller in question. @@ -46,6 +50,10 @@ completion: @escaping (URL?, Error?) -> Void) } + @available(iOSApplicationExtension, unavailable) + @available(tvOSApplicationExtension, unavailable) + @available(macCatalystApplicationExtension, unavailable) + @available(watchOSApplicationExtension, unavailable) class AuthWebViewController: UIViewController, WKNavigationDelegate { // MARK: - Properties From 96212bb62051cbf0a86f93a68560410a3af23f9c Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 2 Sep 2026 18:20:04 -0400 Subject: [PATCH 3/8] fix(auth): preserve FIRAuthComponent runtime class name for FirebaseCore registration --- FirebaseAuth/Sources/Swift/Auth/AuthComponent.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/FirebaseAuth/Sources/Swift/Auth/AuthComponent.swift b/FirebaseAuth/Sources/Swift/Auth/AuthComponent.swift index d4c27f011eb..daef3287670 100644 --- a/FirebaseAuth/Sources/Swift/Auth/AuthComponent.swift +++ b/FirebaseAuth/Sources/Swift/Auth/AuthComponent.swift @@ -19,6 +19,7 @@ import FirebaseAuthInterop import FirebaseCore import FirebaseCoreExtension +@objc(FIRAuthComponent) class AuthComponent: NSObject, Library, ComponentLifecycleMaintainer { // MARK: - Private Variables From 7842ee724fbfb324bf7a7ae67d0f1ada9fcbbeef Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 2 Sep 2026 18:21:35 -0400 Subject: [PATCH 4/8] refactor(auth): use internal import for internal SDK and framework dependencies --- .../Sources/Swift/ActionCode/ActionCodeSettings.swift | 2 +- FirebaseAuth/Sources/Swift/Auth/Auth.swift | 4 ++-- FirebaseAuth/Sources/Swift/Auth/AuthComponent.swift | 4 ++-- FirebaseAuth/Sources/Swift/Backend/AuthBackend.swift | 2 +- FirebaseAuth/Sources/Swift/Backend/AuthBackendRPCIssuer.swift | 2 +- .../Sources/Swift/Backend/AuthRequestConfiguration.swift | 4 ++-- FirebaseAuth/Sources/Swift/Storage/AuthKeychainServices.swift | 4 ++-- .../Sources/Swift/SystemService/SecureTokenService.swift | 2 +- FirebaseAuth/Sources/Swift/Utilities/AuthLog.swift | 2 +- FirebaseAuth/Sources/Swift/Utilities/AuthURLPresenter.swift | 4 ++-- .../Sources/Swift/Utilities/AuthWebViewController.swift | 2 +- 11 files changed, 16 insertions(+), 16 deletions(-) diff --git a/FirebaseAuth/Sources/Swift/ActionCode/ActionCodeSettings.swift b/FirebaseAuth/Sources/Swift/ActionCode/ActionCodeSettings.swift index 74472e33c71..f5c0b6f00f0 100644 --- a/FirebaseAuth/Sources/Swift/ActionCode/ActionCodeSettings.swift +++ b/FirebaseAuth/Sources/Swift/ActionCode/ActionCodeSettings.swift @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -import FirebaseCoreInternal +internal import FirebaseCoreInternal import Foundation // TODO(Swift 6 Breaking): Consider breaking up into a checked Sendable Swift diff --git a/FirebaseAuth/Sources/Swift/Auth/Auth.swift b/FirebaseAuth/Sources/Swift/Auth/Auth.swift index fa1bde8eebc..286293287ff 100644 --- a/FirebaseAuth/Sources/Swift/Auth/Auth.swift +++ b/FirebaseAuth/Sources/Swift/Auth/Auth.swift @@ -14,10 +14,10 @@ import Foundation -import FirebaseAppCheckInterop +internal import FirebaseAppCheckInterop import FirebaseAuthInterop import FirebaseCore -import FirebaseCoreExtension +internal import FirebaseCoreExtension #if COCOAPODS internal import GoogleUtilities #else diff --git a/FirebaseAuth/Sources/Swift/Auth/AuthComponent.swift b/FirebaseAuth/Sources/Swift/Auth/AuthComponent.swift index daef3287670..f4e0205d277 100644 --- a/FirebaseAuth/Sources/Swift/Auth/AuthComponent.swift +++ b/FirebaseAuth/Sources/Swift/Auth/AuthComponent.swift @@ -14,10 +14,10 @@ import Foundation -import FirebaseAppCheckInterop +internal import FirebaseAppCheckInterop import FirebaseAuthInterop import FirebaseCore -import FirebaseCoreExtension +internal import FirebaseCoreExtension @objc(FIRAuthComponent) class AuthComponent: NSObject, Library, ComponentLifecycleMaintainer { diff --git a/FirebaseAuth/Sources/Swift/Backend/AuthBackend.swift b/FirebaseAuth/Sources/Swift/Backend/AuthBackend.swift index 20d41086548..70c31de56c8 100644 --- a/FirebaseAuth/Sources/Swift/Backend/AuthBackend.swift +++ b/FirebaseAuth/Sources/Swift/Backend/AuthBackend.swift @@ -13,7 +13,7 @@ // limitations under the License. import FirebaseCore -import FirebaseCoreExtension +internal import FirebaseCoreExtension import Foundation #if COCOAPODS import GTMSessionFetcher diff --git a/FirebaseAuth/Sources/Swift/Backend/AuthBackendRPCIssuer.swift b/FirebaseAuth/Sources/Swift/Backend/AuthBackendRPCIssuer.swift index d52e63e1bbc..99bdcd292c6 100644 --- a/FirebaseAuth/Sources/Swift/Backend/AuthBackendRPCIssuer.swift +++ b/FirebaseAuth/Sources/Swift/Backend/AuthBackendRPCIssuer.swift @@ -13,7 +13,7 @@ // limitations under the License. import FirebaseCore -import FirebaseCoreExtension +internal import FirebaseCoreExtension import Foundation #if COCOAPODS @preconcurrency import GTMSessionFetcher diff --git a/FirebaseAuth/Sources/Swift/Backend/AuthRequestConfiguration.swift b/FirebaseAuth/Sources/Swift/Backend/AuthRequestConfiguration.swift index 21cb7a2f3a9..67b131d665c 100644 --- a/FirebaseAuth/Sources/Swift/Backend/AuthRequestConfiguration.swift +++ b/FirebaseAuth/Sources/Swift/Backend/AuthRequestConfiguration.swift @@ -14,8 +14,8 @@ import Foundation -import FirebaseAppCheckInterop -import FirebaseCoreExtension +internal import FirebaseAppCheckInterop +internal import FirebaseCoreExtension /// Defines configurations to be added to a request to Firebase Auth's backend. final class AuthRequestConfiguration { diff --git a/FirebaseAuth/Sources/Swift/Storage/AuthKeychainServices.swift b/FirebaseAuth/Sources/Swift/Storage/AuthKeychainServices.swift index 2fe1dbda22d..457230856f9 100644 --- a/FirebaseAuth/Sources/Swift/Storage/AuthKeychainServices.swift +++ b/FirebaseAuth/Sources/Swift/Storage/AuthKeychainServices.swift @@ -12,8 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -import FirebaseCoreExtension -import FirebaseCoreInternal +internal import FirebaseCoreExtension +internal import FirebaseCoreInternal import Foundation /// The prefix string for keychain item account attribute before the key. diff --git a/FirebaseAuth/Sources/Swift/SystemService/SecureTokenService.swift b/FirebaseAuth/Sources/Swift/SystemService/SecureTokenService.swift index bc013b3ae17..4683df9fa8e 100644 --- a/FirebaseAuth/Sources/Swift/SystemService/SecureTokenService.swift +++ b/FirebaseAuth/Sources/Swift/SystemService/SecureTokenService.swift @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -import FirebaseCoreInternal +internal import FirebaseCoreInternal import Foundation private let kFiveMinutes = 5 * 60.0 diff --git a/FirebaseAuth/Sources/Swift/Utilities/AuthLog.swift b/FirebaseAuth/Sources/Swift/Utilities/AuthLog.swift index b3d8e940791..b2eb841d6ec 100644 --- a/FirebaseAuth/Sources/Swift/Utilities/AuthLog.swift +++ b/FirebaseAuth/Sources/Swift/Utilities/AuthLog.swift @@ -13,7 +13,7 @@ // limitations under the License. import FirebaseCore -import FirebaseCoreExtension +internal import FirebaseCoreExtension import Foundation enum AuthLog { diff --git a/FirebaseAuth/Sources/Swift/Utilities/AuthURLPresenter.swift b/FirebaseAuth/Sources/Swift/Utilities/AuthURLPresenter.swift index 1c962c4f834..73d4393ff25 100644 --- a/FirebaseAuth/Sources/Swift/Utilities/AuthURLPresenter.swift +++ b/FirebaseAuth/Sources/Swift/Utilities/AuthURLPresenter.swift @@ -15,9 +15,9 @@ #if os(iOS) import Foundation - import SafariServices + internal import SafariServices import UIKit - import WebKit + internal import WebKit /// A Class responsible for presenting URL via SFSafariViewController or WKWebView. @available(iOSApplicationExtension, unavailable) diff --git a/FirebaseAuth/Sources/Swift/Utilities/AuthWebViewController.swift b/FirebaseAuth/Sources/Swift/Utilities/AuthWebViewController.swift index a5a1ca625c9..6fe326a5591 100644 --- a/FirebaseAuth/Sources/Swift/Utilities/AuthWebViewController.swift +++ b/FirebaseAuth/Sources/Swift/Utilities/AuthWebViewController.swift @@ -16,7 +16,7 @@ import Foundation import UIKit - import WebKit + internal import WebKit /// Defines a delegate for AuthWebViewController @available(iOSApplicationExtension, unavailable) From 25cd09fbfdffbf8551b2a789b01b5798c4ecc821 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 2 Sep 2026 18:23:40 -0400 Subject: [PATCH 5/8] ci(auth): remove unused SPM app extension test job --- .github/workflows/sdk.auth.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.github/workflows/sdk.auth.yml b/.github/workflows/sdk.auth.yml index b9e3bc27ef5..9853f8b6e6c 100644 --- a/.github/workflows/sdk.auth.yml +++ b/.github/workflows/sdk.auth.yml @@ -43,14 +43,6 @@ jobs: buildonly_platforms: iOS extra_flags: APPLICATION_EXTENSION_API_ONLY=YES - objc_import_app_extension: - uses: ./.github/workflows/_spm.yml - with: - target: FirebaseAuthExtensionTest - platforms: iOS - buildonly_platforms: iOS - extra_flags: APPLICATION_EXTENSION_API_ONLY=YES - catalyst: uses: ./.github/workflows/_catalyst.yml with: From 288827839546cbabe80a80e08c164caddaaf1f80 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 2 Sep 2026 18:26:26 -0400 Subject: [PATCH 6/8] refactor(auth): align internal imports and remove unused test spec --- FirebaseAuth.podspec | 10 -------- FirebaseAuth/Sources/Swift/Auth/Auth.swift | 2 +- .../Sources/Swift/Auth/AuthComponent.swift | 2 +- .../Backend/AuthRequestConfiguration.swift | 2 +- .../Tests/AppExtension/AppExtensionTest.m | 24 ------------------- 5 files changed, 3 insertions(+), 37 deletions(-) delete mode 100644 FirebaseAuth/Tests/AppExtension/AppExtensionTest.m diff --git a/FirebaseAuth.podspec b/FirebaseAuth.podspec index 8e3c34ddab7..568050e6d5d 100644 --- a/FirebaseAuth.podspec +++ b/FirebaseAuth.podspec @@ -75,14 +75,4 @@ supports email and password accounts, as well as several 3rd party authenticatio # app_host is needed for tests with keychain unit_tests.requires_app_host = true end - - s.test_spec 'app_extension' do |app_extension_tests| - app_extension_tests.platforms = { - :ios => ios_deployment_target - } - app_extension_tests.source_files = 'FirebaseAuth/Tests/AppExtension/**/*.{m,h,swift}' - app_extension_tests.pod_target_xcconfig = { - 'APPLICATION_EXTENSION_API_ONLY' => 'YES' - } - end end diff --git a/FirebaseAuth/Sources/Swift/Auth/Auth.swift b/FirebaseAuth/Sources/Swift/Auth/Auth.swift index 286293287ff..cfac20f42a5 100644 --- a/FirebaseAuth/Sources/Swift/Auth/Auth.swift +++ b/FirebaseAuth/Sources/Swift/Auth/Auth.swift @@ -14,7 +14,7 @@ import Foundation -internal import FirebaseAppCheckInterop +import FirebaseAppCheckInterop import FirebaseAuthInterop import FirebaseCore internal import FirebaseCoreExtension diff --git a/FirebaseAuth/Sources/Swift/Auth/AuthComponent.swift b/FirebaseAuth/Sources/Swift/Auth/AuthComponent.swift index f4e0205d277..6f81f0e1acd 100644 --- a/FirebaseAuth/Sources/Swift/Auth/AuthComponent.swift +++ b/FirebaseAuth/Sources/Swift/Auth/AuthComponent.swift @@ -14,7 +14,7 @@ import Foundation -internal import FirebaseAppCheckInterop +import FirebaseAppCheckInterop import FirebaseAuthInterop import FirebaseCore internal import FirebaseCoreExtension diff --git a/FirebaseAuth/Sources/Swift/Backend/AuthRequestConfiguration.swift b/FirebaseAuth/Sources/Swift/Backend/AuthRequestConfiguration.swift index 67b131d665c..979844400d9 100644 --- a/FirebaseAuth/Sources/Swift/Backend/AuthRequestConfiguration.swift +++ b/FirebaseAuth/Sources/Swift/Backend/AuthRequestConfiguration.swift @@ -14,7 +14,7 @@ import Foundation -internal import FirebaseAppCheckInterop +import FirebaseAppCheckInterop internal import FirebaseCoreExtension /// Defines configurations to be added to a request to Firebase Auth's backend. diff --git a/FirebaseAuth/Tests/AppExtension/AppExtensionTest.m b/FirebaseAuth/Tests/AppExtension/AppExtensionTest.m deleted file mode 100644 index 813084afe59..00000000000 --- a/FirebaseAuth/Tests/AppExtension/AppExtensionTest.m +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright 2026 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. - -#import -#import -#import -#import - -@interface AppExtensionTest : NSObject -@end - -@implementation AppExtensionTest -@end From e43fdfadc9ad8be87347620933452ab714cebdb7 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 2 Sep 2026 18:27:00 -0400 Subject: [PATCH 7/8] ci(auth): remove pod_lib_lint_app_extension workflow job --- .github/workflows/sdk.auth.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.github/workflows/sdk.auth.yml b/.github/workflows/sdk.auth.yml index 9853f8b6e6c..6ef560baddc 100644 --- a/.github/workflows/sdk.auth.yml +++ b/.github/workflows/sdk.auth.yml @@ -59,14 +59,6 @@ jobs: product: ${{ matrix.product }} buildonly_platforms: macOS - pod_lib_lint_app_extension: - uses: ./.github/workflows/_cocoapods.yml - with: - product: FirebaseAuth - platforms: iOS - buildonly_platforms: iOS - test_specs: app_extension - integration-tests: # 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' && github.event.pull_request.head.repo.fork == false) From 8f648bd600677c48fc82abb5fb065798ff607934 Mon Sep 17 00:00:00 2001 From: Nick Cooke Date: Wed, 2 Sep 2026 18:28:47 -0400 Subject: [PATCH 8/8] refactor(auth): remove unavailable annotations to prevent availability bubbling --- FirebaseAuth/CHANGELOG.md | 4 ++-- .../Sources/Swift/Utilities/AuthURLPresenter.swift | 4 ---- .../Sources/Swift/Utilities/AuthWebViewController.swift | 8 -------- 3 files changed, 2 insertions(+), 14 deletions(-) diff --git a/FirebaseAuth/CHANGELOG.md b/FirebaseAuth/CHANGELOG.md index 9455f2b505b..b6bbd004d35 100644 --- a/FirebaseAuth/CHANGELOG.md +++ b/FirebaseAuth/CHANGELOG.md @@ -1,8 +1,8 @@ # 12.19.0 - [fixed] Fixed a build error in app extensions introduced in 12.18.0, where `AuthNotificationManager` referenced `UIApplication.shared` directly. (#16583) -- [fixed] Fixed a build error in Objective-C app extensions by marking web view - presenters unavailable in app extensions. (#16590) +- [fixed] Fixed a build error in Objective-C app extensions by using internal + imports for internal framework dependencies. (#16590) - [fixed] Fixed a persistent crash when interacting with App Check under some Swift toolchains (like the Flutter SDK) by avoiding a compiler bug in Swift concurrency thunk generation. (#16549) diff --git a/FirebaseAuth/Sources/Swift/Utilities/AuthURLPresenter.swift b/FirebaseAuth/Sources/Swift/Utilities/AuthURLPresenter.swift index 73d4393ff25..c5f2115dca0 100644 --- a/FirebaseAuth/Sources/Swift/Utilities/AuthURLPresenter.swift +++ b/FirebaseAuth/Sources/Swift/Utilities/AuthURLPresenter.swift @@ -20,10 +20,6 @@ internal import WebKit /// A Class responsible for presenting URL via SFSafariViewController or WKWebView. - @available(iOSApplicationExtension, unavailable) - @available(tvOSApplicationExtension, unavailable) - @available(macCatalystApplicationExtension, unavailable) - @available(watchOSApplicationExtension, unavailable) class AuthURLPresenter: NSObject, SFSafariViewControllerDelegate, AuthWebViewControllerDelegate { /// Presents an URL to interact with user. diff --git a/FirebaseAuth/Sources/Swift/Utilities/AuthWebViewController.swift b/FirebaseAuth/Sources/Swift/Utilities/AuthWebViewController.swift index 6fe326a5591..267bdf0f377 100644 --- a/FirebaseAuth/Sources/Swift/Utilities/AuthWebViewController.swift +++ b/FirebaseAuth/Sources/Swift/Utilities/AuthWebViewController.swift @@ -19,10 +19,6 @@ internal import WebKit /// Defines a delegate for AuthWebViewController - @available(iOSApplicationExtension, unavailable) - @available(tvOSApplicationExtension, unavailable) - @available(macCatalystApplicationExtension, unavailable) - @available(watchOSApplicationExtension, unavailable) protocol AuthWebViewControllerDelegate: AnyObject { /// Notifies the delegate that the web view controller is being cancelled by the user. /// - Parameter webViewController: The web view controller in question. @@ -50,10 +46,6 @@ completion: @escaping (URL?, Error?) -> Void) } - @available(iOSApplicationExtension, unavailable) - @available(tvOSApplicationExtension, unavailable) - @available(macCatalystApplicationExtension, unavailable) - @available(watchOSApplicationExtension, unavailable) class AuthWebViewController: UIViewController, WKNavigationDelegate { // MARK: - Properties