Ну, я не знаю, что происходит, но это работает для меня,
Убедитесь, что ваши стручки имеют по крайней мере это там.
ПОДФИЛЬ
pod 'Firebase/Storage'
pod 'Firebase/Auth' #Auth isn't needed but, you should really use it.
Просмотр контроллера
import UIKit
import FirebaseStorage
class TestView: UIViewController {
var imageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
imageView = UIImageView()
}
@IBAction func uploadPicture(_ sender: Any) {
self.imageView.image = #imageLiteral(resourceName: "playlist.png")
uploadMedia() { url in
guard let url = url else { return }
print(url)
}
}
func uploadMedia(completion: @escaping (_ url: String?) -> Void) {
let storageRef = Storage.storage().reference().child("something.png")
if let uploadData = self.imageView.image?.pngData(){ //You can change this to jpeg, etc
storageRef.putData(uploadData, metadata: nil) { (metadata, error) in
if error != nil {
print("error")
completion(nil)
} else {
storageRef.downloadURL(completion: { (url, error) in
print(url?.absoluteString)
completion(url?.absoluteString)
})
}
}}}
}