diff --git a/FirebaseSwiftUI/FirebaseAuthSwiftUI/Sources/Services/AuthService.swift b/FirebaseSwiftUI/FirebaseAuthSwiftUI/Sources/Services/AuthService.swift index 9f638ad913..0640ef415f 100644 --- a/FirebaseSwiftUI/FirebaseAuthSwiftUI/Sources/Services/AuthService.swift +++ b/FirebaseSwiftUI/FirebaseAuthSwiftUI/Sources/Services/AuthService.swift @@ -141,7 +141,7 @@ public final class AuthService { private var listenerManager: AuthListenerManager? var emailSignInEnabled = false - private var emailSignInCallback: (@MainActor () -> Void)? + private var emailSignInCallback: (() -> Void)? private var providers: [AuthProviderUI] = [] @@ -324,7 +324,7 @@ public extension AuthService { } /// Enable email sign-in with custom callback - func withEmailSignIn(onTap: @escaping @MainActor () -> Void) -> AuthService { + func withEmailSignIn(onTap: @escaping () -> Void) -> AuthService { emailSignInEnabled = true emailSignInCallback = onTap return self diff --git a/FirebaseSwiftUI/FirebasePhoneAuthSwiftUI/Sources/Services/AuthService+Phone.swift b/FirebaseSwiftUI/FirebasePhoneAuthSwiftUI/Sources/Services/AuthService+Phone.swift index b3ad8bae61..fd92945830 100644 --- a/FirebaseSwiftUI/FirebasePhoneAuthSwiftUI/Sources/Services/AuthService+Phone.swift +++ b/FirebaseSwiftUI/FirebasePhoneAuthSwiftUI/Sources/Services/AuthService+Phone.swift @@ -32,7 +32,7 @@ public extension AuthService { /// Register phone sign-in with custom behavior @discardableResult - func withPhoneSignIn(onTap: @escaping @MainActor () -> Void) -> AuthService { + func withPhoneSignIn(onTap: @escaping () -> Void) -> AuthService { registerProvider(providerWithButton: PhoneAuthProviderAuthUI(onTap: onTap)) return self } diff --git a/FirebaseSwiftUI/FirebasePhoneAuthSwiftUI/Sources/Services/PhoneAuthProviderAuthUI.swift b/FirebaseSwiftUI/FirebasePhoneAuthSwiftUI/Sources/Services/PhoneAuthProviderAuthUI.swift index c339534b6c..8ac54b9d16 100644 --- a/FirebaseSwiftUI/FirebasePhoneAuthSwiftUI/Sources/Services/PhoneAuthProviderAuthUI.swift +++ b/FirebaseSwiftUI/FirebasePhoneAuthSwiftUI/Sources/Services/PhoneAuthProviderAuthUI.swift @@ -26,14 +26,17 @@ public class PhoneAuthProviderAuthUI: AuthProviderUI { public let id: String = "phone" // Callback for when the phone auth button is tapped - private let onTap: @MainActor () -> Void + private let onTap: () -> Void - public init(onTap: @escaping @MainActor () -> Void) { + public init(onTap: @escaping () -> Void) { typedProvider = PhoneProviderSwift() self.onTap = onTap } @MainActor public func authButton() -> AnyView { - AnyView(PhoneAuthButtonView(onTap: onTap)) + let mainActorClosure: @MainActor () -> Void = { + self.onTap() + } + return AnyView(PhoneAuthButtonView(onTap: mainActorClosure)) } }