2017-10-13 7 views
-1

私は奇妙な問題を抱えています。私はいつも画像を消去するのにこのコードを使いました。そして、他のviewControllerのこのアプリケーションでもうまくいきました。迅速なfirebaseストレージNSInternalInconsistencyException

は、今私は常に取得:

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

私は削除する画像のURLを印刷しようとしたマーカー/ gruopIdフォルダ内にある、削除する画像:

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 

どちらもOKです、なぜこれ?

私に手がかりを与えてください、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") 
 
          } 
 
         } 
 
    
 
        } 
 
       } 
 
      } 
 
      
 
     }) 
 
     
 
    }

+0

私はこのパスが 'Markers \(self.groupId!)'であったと思いますが、パスは 'Markers/\(self.groupId!)' – 3stud1ant3

答えて

0

私はとき、(はいフォルダの名前は正しかった)時間を節約するために、手動で画像のフォルダを作成していた、私はそれを理解できない場合でも、問題を発見しました私はそれが問題なく削除することができる、それを作成するアプリを手放そうとした誰かが私にそれを説明することができますか?