快速 Firebase 存储 NSInternalInconsistencyException

标签 swift firebase firebase-storage

我有一个奇怪的问题,我总是使用这段代码来删除图像,它总是有效,即使在其他 viewController 中的这个应用程序中它也运行良好。

现在我总是:

uncaught exception 'NSInternalInconsistencyException', reason: 'URL scheme must be one of gs://, http://, or https:// '

要删除的图像位于 Markers/gruopId 文件夹中

我尝试打印要删除的图像的网址:

https://firebasestorage.googleapis.com/v0/b/firebase-itsthere.appspot.com/o/Markers%2F-KwKLgt2saNQpZiJuexi%2FC75EE058-61C3-47DB-AFAC-FE18078A0A7F?

和图像引用:

gs://firebase-*******.appspot.com/Markers/-KwKLgt2saNQpZiJuexi/C75EE058-61C3-47DB-AFAC-FE18078A0A7F 

两者都很好,为什么会这样?

请给我一个线索,浪费了 6 个小时!

  let storageRef = Storage.storage().reference(withPath: "MarkersMarkers\(self.groupId!)")

        pictureOfGroup.child(self.groupId!).observe(.value, with: { (snapshot) in
            if snapshot.exists(){
                if let snapshots = snapshot.children.allObjects as? [DataSnapshot] {
                                        
                    for snap in snapshots {
     
                        
                        let dict = snap.value as! [String: Any]
                        
                        let imgToDelete = dict["image"] as! String
                        
                        print(imgToDelete, "imgToDelete")

                        let url = imgToDelete
                        
                        let imageRef = storageRef.storage.reference(forURL: url)
                        
                        print(imageRef)
                        
                          imageRef.delete { (error) in
                            if error != nil {
                                // Uh-oh, an error occurred!
                                print("error0: \(String(describing: error))")
                            } else {
                                // File deleted successfully
                                print("deleted")
                            }
                        }
 
                    }
                }
            }
            
        })
        
    }

最佳答案

即使我无法理解,我也发现了问题,我正在手动创建图像的文件夹以节省时间(是的,文件夹的名称是正确的),当我尝试让应用程序创建它时,它可以删除没问题,有人可以给我解释一下吗?

关于快速 Firebase 存储 NSInternalInconsistencyException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46727187/

相关文章:

javascript - 重新加载当前用户不会在 Firebase 身份验证中刷新 emailVerified 状态

javascript - 查询多个 Firestore 集合的同一字段

google-cloud-firestore - 如何使用 Cloud Function 和 Flutter 从新图像中获取 URL?

swift - 一步可选链接?

javascript - Firebase/Angularfire 0.9 - 创建新用户和配置文件

Firebase 云功能中的 Firebase 存储错误

java - 如何从 Firebase 存储获取 URL getDownloadURL

ios - "Expression implicitly coerced"警告是什么意思?

ios - 仅在模拟器 iPhone6 中首次启动期间的位置权限问题 - XCode 9.4.1

ios - 快速清空请求正文