【问题标题】:How to parse iOS Firebase Storage error code in Swift?如何在 Swift 中解析 iOS Firebase 存储错误代码?
【发布时间】:2020-06-01 15:59:44
【问题描述】:

如何在 Swift 中解析以下 Firebase 存储错误?

storageRef.delete { (error) in   
    if let error = error {    
        print(error)       
    }            
}

打印控制台:

Error Domain=FIRStorageErrorDomain Code=-13010 "Object images/users/UBTXiedh11fT0s0BydkMuXk2k622/xyz.jpg does not exist." UserInfo={object=images/users/UBTXiedh11fT0s0BydkMuXk2k622/xyz.jpg, ResponseBody={
  "error": {
    "code": 404,
    "message": "Not Found.  Could not delete object",
    "status": "DELETE_OBJECT"
  }
}, bucket=someApp-10010010.appspot.com, data={length = 121, bytes = 0x7b0a2020 22657272 6f72223a 207b0a20 ... 54220a20 207d0a7d }, data_content_type=application/json; charset=UTF-8, NSLocalizedDescription=Object images/users/UBTXiedh11fT0s0BydkMuXk2k622/xyz.jpg does not exist., ResponseErrorDomain=com.google.HTTPStatus, ResponseErrorCode=404}

我知道有StorageErrorCode,但我不知道如何将原始值放入其中。

if let errorCode = StorageErrorCode(rawValue: Int) {
    ...
}

目标是能够打开错误代码本身(即 404)。

【问题讨论】:

标签: ios swift firebase firebase-storage


【解决方案1】:

您必须将错误转换为NSError 才能从中获取代码值(整数)。然后您可以使用错误代码作为原始值打开StorageErrorCode 对象(一个枚举)。

storageRef.delete { (error) in

    if let error = error as NSError? {

        let code = StorageErrorCode(rawValue: error.code)

        switch code {

        case .objectNotFound:
            print("object not found") // this is your 404

        default:
            break

        }

    }

}

有关此(iOS Firebase 存储)的文档非常薄。

【讨论】:

    猜你喜欢
    • 2022-07-01
    • 1970-01-01
    • 2017-09-15
    • 2016-09-16
    • 2021-12-30
    • 1970-01-01
    • 2016-11-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多