尝试显示身份验证选择器时,FirebaseUI崩溃

时间:2017-10-23 12:33:28

标签: ios swift firebase firebase-authentication firebaseui

我在我的项目中使用Firebase和FirebaseUI,并且在尝试登录时我会遇到同样的崩溃。用户点击Log in按钮然后认证选择器显示,用户可以使用Facebook / Google或电子邮件/密码登录。但是,除了标记以下行之外,它会因 no 错误消息而崩溃:

struct FIRAuthLogin {
    private let authUI = FUIAuth.defaultAuthUI()
    private var viewController: UIViewController!

    init(delegate: FIRCustomAuthDelegate, viewController: UIViewController) {
        self.viewController = viewController

        authUI?.delegate = delegate
        authUI?.providers = [FUIGoogleAuth(), FUIFacebookAuth()]
    }

    func present(completion: @escaping () -> Void) {

        // Exception on the line below!
        let authViewController = authUI?.authViewController()

        self.viewController.present(authViewController!, animated: true, completion: completion)
    }
}

即使行let authViewController = authUI?.authViewController()中有例外,authViewController nil

下面是堆栈跟踪中的图像(在问题导航器中):

enter image description here

问题是我覆盖了FUIPasswordSignUpViewController,所以我有点困惑。

每当发生这种情况时,我通常只是从项目中删除CocoaPods并再次集成它。然后它会正常工作,但由于我现在多次这样做,并且错误仍然存​​在,因此必然存在潜在的错误。不幸的是,我无法使用FirebaseUI GitHub代码重现错误,所以我猜错误就在我的最后。这就是为什么我在这里问而不是在FirebaseUI-iOS GitHub存储库中。

1 个答案:

答案 0 :(得分:0)

终于修复了。我在FirebaseUI iOS存储库中打开了issue,在将我的项目发送给其中一位Google工程师后,他解决了这个问题:

  

您似乎已遇到CocoaPods/CocoaPods#6936。将构建系统设置为使用标准(而不是新构建系统预览),删除DerivedData和重建可以解决问题。

     

目前你不得不使用新的构建系统。