swift firebase存储NSInternalInconsistencyException
问题描述:
我有一个奇怪的问题,我总是使用这段代码来擦除图像,它始终工作,即使在这个应用程序在其他viewControllers它运作良好。swift firebase存储NSInternalInconsistencyException
现在我总是得到:
uncaught exception 'NSInternalInconsistencyException', reason: 'URL scheme must be one of gs://, http://, or https:// '
删除在标记/ gruopId文件夹
我试图打印图像的URL删除的图像:
https://firebasestorage.googleapis.com/v0/b/firebase-itsthere.appspot.com/o/Markers%2F-KwKLgt2saNQpZiJuexi%2FC75EE058-61C3-47DB-AFAC-FE18078A0A7F?
和imageRef :
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")
}
}
}
}
}
})
}
答
我发现,即使我不明白,我创建图像的文件夹手动,以节省时间(是的文件夹的名称是正确的)问题时,我试图让应用程序创建它可以删除没有问题,有人可以解释给我吗?
我认为问题出在这个路径上'Markers \(self.groupId!)'而不是你的路径应该是'Markers/\(self.groupId!)' – 3stud1ant3