2016-07-19 4 views
0

FirebaseStorageポッド版(1.0.1)Firebaseストレージエラー

var storageRef: FIRStorageReference! = FIRStorage.storage().reference() 


let uploadTask = storageRef.putData(UIImagePNGRepresentation(image)!, metadata: nil) { metadata, error in 
     if (error != nil) { 

     } else { 
      let downloadURL = metadata!.downloadURL 
      print(downloadURL) 
     } 
} 

私は単にImagePickerから画像を選択し、firebaseストレージに画像データを保存しようとしました。 。。firebaseドキュメントに示されているように(データからDocs Reference)アップロードをメモリにセクション

エラー以下投げ:。

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[1]' 
*** First throw call stack: 
(
    0 CoreFoundation      0x02025494 __exceptionPreprocess + 180 
    1 libobjc.A.dylib      0x03eb2e02 objc_exception_throw + 50 
    2 CoreFoundation      0x01f0c6d2 -[__NSPlaceholderDictionary initWithObjects:forKeys:count:] + 386 
    3 CoreFoundation      0x01f2095b +[NSDictionary dictionaryWithObjects:forKeys:count:] + 75 
    4 FirePlay       0x001e42bc -[FIRStorageUploadTask enqueue] + 815 
    5 FirePlay       0x001e010c -[FIRStorageReference putData:metadata:completion:] + 880 

前に動作するように使用されるのと同じコードが、私は問題が今何を確認していません。

+0

あなたは '印刷(画像)'しましたか? ..そしてそれが無かったかどうかを確認する –

答えて

4

はあなたがファイルを保存することができ、子ノードを作成する必要があります。我々は、ルートストレージノード内のファイルを置くことができないことが判明したと。それは私がそれを見落とし何とかはっきりmentioned in the Firebase docsた。

E.g

let mountainsRef = storageRef.child("mountains.jpg") 

let uploadTask = mountainsRef.putData(UIImagePNGRepresentation(image)!, metadata: nil) { metadata, error in 
     if (error != nil) { 

     } else { 
      let downloadURL = metadata!.downloadURL 
      print(downloadURL) 
     } 
}