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

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

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

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Q&A

解決済

2回答

767閲覧

[ios][Xcode]FirebaseのAuthenticationで「ユーザーのプロバイダ別のプロフィール情報を取得する」がよくわかりません

masimasi

総合スコア32

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

0グッド

0クリップ

投稿2018/07/09 13:41

Firebaseを勉強してます。

下記チュートリアルを進めているのですが
https://firebase.google.com/docs/auth/ios/manage-users?hl=ja

このページの「ユーザーのプロバイダ別のプロフィール情報を取得する」がよくわかりません
プロバイダ別ってなんでしょうか?

わからないなりに使ってみちょうと

let userInfo = Auth.auth().currentUser?.providerData[indexPath.row]
cell?.textLabel?.text = userInfo?.providerID
// Provider-specific UID
cell?.detailTextLabel?.text = userInfo?.uid

を書いてみたのですが 最初のindexPathが すでにエラーになってしまいます。
Use of unresolved identifier 'indexPath'

単純に使ってみたいのですがどう書けばいいでしょうか?

勉強不足は重々承知しております。
なにかヒントをください

こころがおれそうです

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

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

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

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

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

guest

回答2

0

ベストアンサー

「[indexPath.row]」のところに試しに「[0]」という適当なインデックスの数字を入れてみてください。
providerDataデータはArrayなので、配列にアクセスする方法で取れると思います。

ちなみに認証プロバイダのリンク(複数の認証方法の紐づけ)を行っている場合は、providerDataに情報が複数入っている場合があります(いずれにせよArray形式です)。

分からなかったら追加質問してください。

投稿2018/07/10 10:46

編集2018/07/10 12:19
taka_jun

総合スコア160

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

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

masimasi

2018/07/10 23:02 編集

ありがとうございます。 [0]を入れたら 値をとれました。 userInfo?.providerID  が password という単語で userInfo?.uid が xxx@xxx.com(メールアドレス) でした。 [0]以外の数字を入れたらエラーでした。 プロバイダ別のプロフィール情報 というのは、メールとパスワードによる認証・・・的なことなんですね。 これを作る設定で ログイン方法の設定 で メール/パスワード 有効 に設定したのですが その設定をひっぱってきた ということなんですね ちょっとわかってきました。 電話番号 を有効にしたら [1] でそれが取得できる、ということなんですね(これからためします) ありがとうございました
taka_jun

2018/07/10 23:48

良かったです(^^) providerDataはユーザーがどのプロバイダ(メルアド&PW、Facebookアカウント、Googleアカウント…)で認証しているかを調べるためのものです。例えばFacebookログインをしたら、Arrayの中に"Facebook"と入る感じですね。 今はメルアド&PWでしか認証していないので、Arrayには1つしかデータが入ってない状況ですが、複数の認証をリンクさせると、Arrayに複数情報が入ってきます(どういう順番で返ってくるかまでは分からないので調べてみてください!)。
masimasi

2018/07/11 09:40

丁寧にありがとうございました。おかげさまで一歩進めました!
guest

0

Firebaseのドキュメントは結構不親切で、その他のドキュメントを見比べながら手探りで進めないと初学者には厳しいですよね。

まず、Firebaseを始めるにあたり、最初に設定しておかなくてはいけないものがあったりします。以下URLに詳しいのですが、Firebaseコンソールを利用してログインの方法を設定したりする必要があるのです。
https://qiita.com/tfutada/items/1f2b0c5e5f7214bae61d
ドメインとは?といった疑問もそちらをご覧いただくと氷解するのではないでしょうか。

ちなみに、indexPathは、swift側で設定する必要があります。ユーザ管理サンプルなので、iOSアプリのUIでユーザ一覧が表示されていて、そのユーザを選択した時をイメージしたものではないかと思います。

投稿2018/07/10 10:44

t_obara

総合スコア5488

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

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

masimasi

2018/07/10 23:06

ありがとうございます。 ほんとに手探りで、夢でもコードを書く始末です。 資料ありがとうございます こちらも参考にさせていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問