swift 'FIRInvalidArgumentException',原因:'不支持的类型:NSURL(在字段 AccountTypeImageURL 中找到)'

Posted

技术标签:

【中文标题】swift \'FIRInvalidArgumentException\',原因:\'不支持的类型:NSURL(在字段 AccountTypeImageURL 中找到)\'【英文标题】:swift 'FIRInvalidArgumentException', reason: 'Unsupported type: NSURL (found in field AccountTypeImageURL)'swift 'FIRInvalidArgumentException',原因:'不支持的类型:NSURL(在字段 AccountTypeImageURL 中找到)' 【发布时间】:2018-11-10 11:55:13 【问题描述】:

当我从手机上传图片时,应用程序崩溃并出现错误

'FIRInvalidArgumentException',原因:'不支持的类型:NSURL(找到 在字段中 AccountTypeImageURL)'

这是我的包含相关代码的函数

    func submitButtonADD()

        let imageName = NSUUID().uuidString
        let storageRef = Storage.storage().reference().child("Account Type Images").child("\(imageName)png")
        let sRef = Storage.storage().reference().child("Account Type Images").child("\(imageName)png")
        guard let uid = Auth.auth().currentUser?.uid else  return 



        if let uploadData = UIImagePNGRepresentation(self.profileImageView.image!) 


            storageRef.putData(uploadData, metadata: nil, completion:  (metadata, error) in

                if let error = error 
                    print(error)
                    return
                


               sRef.downloadURL  url2, error in
                    if let error = error 
                        print(error)
                     else 
                        // Get the download URL for 'images/stars.jpg'




                    let db = Firestore.firestore()

                    db.collection("Users").document(uid).setData(["AccountTypeImageURL": url2],merge: true)


                
            

            )
        

【问题讨论】:

【参考方案1】:

该错误准确地告诉您您尝试将NSURL 类型保存在不支持的Firestore 文档中到底出了什么问题。因此,将 url 转换为字符串,然后将其保存在 Firestore 中,如下所示:

db.collection("Users").document(uid).setData(["AccountTypeImageURL": url2.absoluteString],merge: true)

【讨论】:

以上是关于swift 'FIRInvalidArgumentException',原因:'不支持的类型:NSURL(在字段 AccountTypeImageURL 中找到)'的主要内容,如果未能解决你的问题,请参考以下文章

Swift入门系列--Swift官方文档(2.2)--中文翻译--About Swift 关于Swift

swift 示例BS swift.swift

swift swift_bug.swift

ios 整理(一)swift和oc的区别

swift swift_extension5.swift

swift swift_optional4.swift