Firebase认证被调用两次

时间:2019-03-25 07:47:55

标签: swift firebase

我正在使用注册/登录视图控制器创建一个简单的应用程序,该应用程序会导致一个TableView Controller。

问题是,当我调用loginBtnPressed方法时,似乎两次调用Auth.auth(),因为打印语句“ Login for user ...”被打印了两次,并且performSegue也被执行了两次。

有人可以帮忙吗?

附加日志:

  

2019-03-25 13:13:50.299237 + 0530 countIT_Z [61176:7896870]-[I-ACS036002]启用了分析屏幕报告。调用+ [FIRAnalytics setScreenName:setScreenClass:]设置屏幕名称或覆盖默认屏幕类名称。若要禁用屏幕报告,请将Info.plist中的标志FirebaseScreenReportingEnabled设置为NO(布尔值)   2019-03-25 13:13:50.505813 + 0530 countIT_Z [61176:7896870] 5.18.0-[Firebase / Analytics] [I-ACS023007] Analytics v.50700000已开始   2019-03-25 13:13:50.507465 + 0530 countIT_Z [61176:7896870] 5.18.0-[Firebase / Analytics] [I-ACS023008]要启用调试日志记录,请设置以下应用程序参数:-FIRAnalyticsDebugEnabled()   2019-03-25 13:13:51.043075 + 0530 countIT_Z [61176:7896954] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301)[C1.1:2] [0x7fb97370b740]获取输出帧失败,状态8196   2019-03-25 13:13:51.043302 + 0530 countIT_Z [61176:7896954] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301)[C1.1:2] [0x7fb97370b740]获取输出帧失败,状态8196   2019-03-25 13:13:51.044079 + 0530 countIT_Z [61176:7896954] TIC读取状态[1:0x0]:1:57   2019-03-25 13:13:51.044260 + 0530 countIT_Z [61176:7896954] TIC读取状态[1:0x0]:1:57   2019-03-25 13:13:53.550835 + 0530 countIT_Z [61176:7896752] [MC] systemgroup.com.apple.configurationprofiles的系统组容器路径为/ Users / *** / Library / Developer / CoreSimulator / Devices / 18BEEB16 -AA64-48C6-B88D-FEF2CFA1EDA3 / data / Containers / Shared / SystemGroup / systemgroup.com.apple.configurationprofiles   2019-03-25 13:13:53.552997 + 0530 countIT_Z [61176:7896752] [MC]从私人有效用户设置中读取。   第一   2019-03-25 13:13:59.763175 + 0530 countIT_Z [61176:7896969] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301)[C2.1:2] [0x7fb973502f00]获取输出帧失败,状态8196   2019-03-25 13:13:59.763425 + 0530 countIT_Z [61176:7896969] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301)[C2.1:2] [0x7fb973502f00]获取输出帧失败,状态8196   2019-03-25 13:13:59.764174 + 0530 countIT_Z [61176:7896969] TIC读取状态[2:0x0]:1:57   2019-03-25 13:13:59.764619 + 0530 countIT_Z [61176:7896969] TIC读取状态[2:0x0]:1:57   2019-03-25 13:14:00.422619 + 0530 countIT_Z [61176:7896953] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301)[C4.1:2] [0x7fb973714ae0]获取输出帧失败,状态8196   2019-03-25 13:14:00.423064 + 0530 countIT_Z [61176:7896953] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301)[C4.1:2] [0x7fb973714ae0]获取输出帧失败,状态8196   2019-03-25 13:14:00.423907 + 0530 countIT_Z [61176:7896953] TIC读取状态[4:0x0]:1:57   2019-03-25 13:14:00.424707 + 0530 countIT_Z [61176:7896953] TIC读取状态[4:0x0]:1:57   用户Optional(“ a@b.com”)的登录成功   2019-03-25 13:14:01.101242 + 0530 countIT_Z [61176:7896752] [警告]仅警告一次:检测到一种情况,即对于表视图单元格的内容视图,约束模糊地建议高度为零。我们考虑的是无意倒塌,而是改用标准高度。

@IBAction func loginBtnPressed(_ sender: UIButton) {
        let userEmailId = loginEmailIdTF.text
        let userPassword = loginPasswordTF.text

        Auth.auth().signIn(withEmail: userEmailId!, password: userPassword!) { (status, error) in
            if error != nil {
                print("Login error")
            } else {
                print("Login for user \(String(describing: userEmailId)) is successful")
                self.performSegue(withIdentifier: "goToAllCountersFromLogin", sender: self)
            }
        }

    }

1 个答案:

答案 0 :(得分:0)

我建议将您的方法更改为此:

Auth.auth().signIn(withEmail: email, password: password) { [weak self] user, error in
  guard let strongSelf = self else { 
    return 
  }
  // Do segue here 
}

让我知道这是否可行