| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- // 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.
- @testable import FirebaseAuth
- import FirebaseCore
- import UIKit
- /// Manage FirebaseApp instances for the Sample app
- class AppManager {
- static let shared = AppManager()
- private var defaultApp: FirebaseApp
- private var otherApp: FirebaseApp
- var app: FirebaseApp
- func auth() -> Auth {
- return Auth.auth(app: app)
- }
- private init() {
- defaultApp = FirebaseApp.app()!
- app = FirebaseApp.app()!
- guard let path = Bundle.main.path(forResource: "GoogleService-Info_multi", ofType: "plist"),
- let options = FirebaseOptions(contentsOfFile: path) else {
- fatalError("GoogleService-Info_multi.plist must be added to the project")
- }
- FirebaseApp.configure(name: "OtherApp", options: options)
- guard let other = FirebaseApp.app(name: "OtherApp") else {
- fatalError("Failed to find OtherApp")
- }
- otherApp = other
- }
- func toggle() {
- if app == defaultApp {
- app = otherApp
- } else {
- app = defaultApp
- }
- }
- }
|