Firebase APIからサインアウトしようとしていますが、発生する可能性のあるエラーをどのように処理するかわかりません。SwiftのFirebaseからのサインアウト
はFirebaseポッドは、サインアウトするための方法を提供する:
FIRAuth.auth()?.signOut()
これはthrows
が付いているので、私は署名アウトプロセスをテストするための方法でdo
/try
/catch
ブロックでそれをラップしています:
do {
try FIRAuth.auth()?.signOut()
} catch (let error) {
print((error as NSError).code)
}
私はsignOut
方法がFirebaseポッドでthrows
でマークされていることがわかり、私はそれが非同期のいずれかのエラーを処理する方法を見ていませんまあ。私は、飛行機モードに入ることを試みました。これは、ネットワークリクエストが発生するコードでネットワークエラーを発生させますが、signOut
メソッドでは、実行する完了ハンドラがないので、そのエラーは検出されません。 Firebaseポッドの他のすべての認証方法には、エラーを処理できる完了ハンドラがあります。ここで
はFirebaseポッドからsignOut
メソッドのドキュメントです:私は完了ハンドラを持っていないとき
/** @fn signOut:
@brief Signs out the current user.
@param error Optionally; if an error occurs, upon return contains an NSError object that
describes the problem; is nil otherwise.
@return @YES when the sign out request was successful. @NO otherwise.
@remarks Possible error codes:
- @c FIRAuthErrorCodeKeychainError Indicates an error occurred when accessing the keychain.
The @c NSLocalizedFailureReasonErrorKey field in the @c NSError.userInfo dictionary
will contain more information about the error encountered.
*/
open func signOut() throws
あなたは、ユーザーのうち、署名を処理するための適切な方法のための任意の提案はありますか私はエラーをチェックすることができますか?