質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

342閲覧

ユーザー情報をfirebaseのStorageに保存するコードでエラー

amazon_106

総合スコア50

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

1クリップ

投稿2019/01/22 16:04

##エラーメッセージ部分を抜粋

// profile image url guard let profileImageURL = metadate?.downloadURL()?.absoluteString else { return }   上の構文でエラーメッセージ Value of type 'StorageMetadata' has no member 'downloadURL' //user id guard let uid = user?.uid else { return } 上の構文でエラーメッセー Value of type 'AuthDataResult' has no member 'uid' let dictionaryValues = ["name": fullName, "username": username,   "profileImageUrl": profileImageURL] let values = [uid: dictionaryValues] // save user info to database Database.database().reference().child("users").updateChildValues(dictionaryValues, withCompletionBlock: { (error, ref) in print("Successfully created user and saved information to database") }) }) } }

##当該セクションを抜粋

Auth.auth().createUser(withEmail: email, password: password) { (user, error) in //handle error if let error = error { print("Falled to create user with error: ", error.localizedDescription) return } // set profile image guard let profileImg = self.plusPhotoBtn.imageView?.image else { return } // update date change // guard let uploadData = UIImageJPEGRepresentation(profileImg, 0.3) else { return } guard let uploadData = profileImg.jpegData(compressionQuality: 0.3) else { return } // place image in firebase storage let filename = NSUUID().uuidString Storage.storage().reference().child("profile_image").child(filename).putData(uploadData, metadata: nil, completion: { (metadate, error) in // handle error if let error = error { print("Failed to upload image to Firebase Storage with error", error.localizedDescription) } // profile image url ここでエラー guard let profileImageURL = metadate?.downloadURL()?.absoluteString else { return } //user id  ここでエラー guard let uid = user?.uid else { return } let dictionaryValues = ["name": fullName, "username": username, "profileImageUrl": profileImageURL] let values = [uid: dictionaryValues] // save user info to database Database.database().reference().child("users").updateChildValues(dictionaryValues, withCompletionBlock: { (error, ref) in print("Successfully created user and saved information to database") }) }) } }

ここ2日ハマっています。xcode10.1で開発してます。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ググっただけですが、最新バージョンのSDKだとmetadate?.downloadURL()の関数が取り除かれているのだとか。

公式サイトを見た感じダウンロードURLの取り方が書かれているので書き換えてみてはいかがでしょう。

iOS でファイルをアップロードする
https://firebase.google.com/docs/storage/ios/upload-files?hl=ja

#あとmetadateではなくmetadataかと。

古い資料ではなく、公式の最新資料を見れば他のエラーも同様に取り除けると思います。

投稿2019/01/23 06:12

takabosoft

総合スコア8356

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

amazon_106

2019/01/23 06:25

回答ありがとうございます! いや〜、多分5~6時間はググったんですが、公式サイトにたどり着きませんでした(涙) そんなタイプミスもしてました(恥) 色々やってたら、xcodeが起動しなくなり試せるのは明日以降になりそうですので、ここで一回、質問を閉じてたいと思います。 情報からアドバイスまでどうもありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問