我需要以不同于所有其他错误的方式处理“权限被拒绝”错误。
在 Android 中我已经做到了:(Kotlin)
override fun onCancelled(error: DatabaseError) {
if (error.code == DatabaseError.PERMISSION_DENIED) {
// Warn user
}
}
在 iOS 中我只有:
someDbReference.observe(.childAdded, with: { data in
// Do something
}, withCancel: { err in
// err is Error
print((err as NSError).code) // 1
// Which error? O_o
})
如何判断错误类型?我已经阅读了整个文档,并且我认为err.localizedDescription == "Permission Denied"
这是一个非常糟糕的方法。
就像评论中已经提到的那样,我使用相同的方法来确定 Firebase 返回的错误类型。例如:
someDbReference.observe(.childAdded, with: { data in
// Do something
}, withCancel: { (returnedError: Error) in
// Casting Error to NSError
let testError: NSError = searchError as NSError
// This is just random error from FB documentation, you can find all there
if testError.code == FIRAuthErrorCode.errorCodeUserDisabled.rawValue {
// User disabled
}
})
确保将返回的 Error 类型的错误对象转换为 NSError。使用其错误代码将其与 Firebase 错误代码进行比较。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)