Firebaseのメジャーアップデートのおかげで、私のアプリのイメージホスティングをAWSからFirebaseのGSストレージに切り替える予定です。 私はすでに必要なすべてのポッドをインポートしました。このアプリは既に割り当てられたバケットに画像をアップロードできますが、問題は保存されたメモリイメージにダウンロードしたいときです。また、アプリがクラッシュしています。オブジェクト: "宣言されていないタイプの使用 'FirebaseStorage'" Firebaseヘッダを関数のあるVCにインポートします。で画像を表示しようとしたときFirebaseStorageにデータをメモリにダウンロードする(Swift)
func getImage(imageName: String) -> UIImage {
let imageRef = kBucketRef.child(imageName)
print(imageRef)
var imageData: NSData?
var image: UIImage?
imageRef.dataWithMaxSize(200 * 1024) { (data, error) -> Void in
if (error != nil) {
imageData = data
image = UIImage(data: imageData!)
} else {
print(error?.localizedDescription)
}
}
return image!
}
以降:image.image =のgetImage(imagenameの)それは、戻り画像で述べたエラーがスローされますと呼ばれています!しかし '.dataWithMaxSize()' 事前
で感謝を失敗:
fatal error: unexpectedly found nil while unwrapping an Optional value
Printing description of imageRef: expression produced error: /var/folders/9q/g2rz2_hj15548cf15yrxz37c0000gn/T/lldb/1645/expr11.swift:1:46: error: use of undeclared type 'FirebaseStorage' $__lldb__DumpForDebugger(Swift.UnsafePointer< FirebaseStorage.FIRStorageReference >(bitPattern: 0x11d028fa0).memory) ^~~~~~~~~~~~~~~ /var/folders/9q/g2rz2_hj15548cf15yrxz37c0000gn/T/lldb/1645/expr11.swift:1:45: note: while parsing this '<' as a type parameter bracket $__lldb__DumpForDebugger(Swift.UnsafePointer(bitPattern: 0x11d028fa0).memory)
'印刷(imageRef)' からの出力は、GSのリファレンス(//プロジェクト-XXXXXX ... GS)を出力します
let bucket: String = "gs://mystoragetesterxxxxxx.appspot.com"
func getImage() {
let storage = FIRStorage.storage()
let storageRef = storage.referenceForURL(bucket)
let path = storageRef.child("photo.jpg")
print(path)
path.dataWithMaxSize(1024 * 1024) { (data, error) in
if (error != nil) {
print(error!.localizedDescription)
} else {
self.imageView.image = UIImage(data: data!)
}
}
}
:
(日後) が[OK]を、ここでFIRStorage方法は、後で復帰するための分離機能にVARSを修正されていないので、この問題を回避するには、あります3210
は、今ではvoid関数だのgetImageが、それは
あなたの提案に応じて関数を変更し、nilをスローします。保存されたファイルのパスは正しいですが、そこにファイルがありますが、それはまだ "データ"に割り当てられません。 (error!= nil)条件をトリガーしません。画像をダウンロードしないでください。 –