Как использовать FirebaseUI для аутентификации Google на iOS в Swift?
я следуюhttps://firebase.google.com/docs/auth/ и хочу использовать FirebaseUI (https://github.com/firebase/FirebaseUI-iOS/tree/master/FirebaseUI) для аутентификации.
Пользовательский интерфейс отображается успешно, и я могу нажать «Войти через Google», а затем завершить веб-вход в поток. Приложение снова открывается с URL-адресом авторизации, но функция authUI никогда не срабатывает. В чем дело?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
FIRApp.configure()
let authUI = FIRAuthUI.authUI()!;
NSLog("setting up delegate");
authUI.delegate = self;
let googleAuthUI = FIRGoogleAuthUI.init(clientID:FIRApp.defaultApp()!.options.clientID);
authUI.signInProviders = [googleAuthUI!];
mSplitViewController = self.window!.rootViewController as! UISplitViewController
self.window!.rootViewController = authUI,.authViewController();
return true
}
func authUI(authUI: FIRAuthUI, didSignInWithUser user: FIRUser?, error:NSError?) {
// Implement this method to handle signed in user or error if any.
NSLog("logged in");
self.window!.rootViewController = mSplitViewController
let navigationController = mSplitViewController!.viewControllers[mSplitViewController!.viewControllers.count-1] as! UINavigationController
navigationController.topViewController!.navigationItem.leftBarButtonItem = mSplitViewController!.displayModeButtonItem()
mSplitViewController!.delegate = self
let masterNavigationController = mSplitViewController!
.viewControllers[0] as! UINavigationController
let controller = masterNavigationController.topViewController as! MasterViewController
controller.managedObjectContext = self.managedObjectContext
}
func application(application: UIApplication,
openURL url: NSURL, options: [String: AnyObject]) -> Bool {
NSLog("opened with url \(url)");
FIRAuthUI.authUI()!.delegate = self;
return FIRAuthUI.authUI()!.handleOpenURL(url, sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey] as! String);
}