kobasaです(´ω`*)
現在Firebaseというサービスを使用したアプリの勉強をしています。
Firebaseを使えばAWSのような感じでアプリの権限やデータベースなど様々なことができます。
AWSもですが全然使いこなせてないのでこんな説明しかできぬ(´・ω・`)
少し触った感想はAWSよりかなりシンプルですね。iOSだからか簡単なアプリだからかもですが。
データベースなんかは必須ですし、きちんと覚えていきたいところです。
139日目の勉強内容
Firebase導入
今回のアプリで使用したpod。FIrebaseに関係ないものも。
pod 'Firebase' #->firebaseの基本となるもの
pod 'Firebase/Auth' #->Authentication、ログインに使用する
pod 'Firebase/Firestore' #->firestoreに使用する
pod 'EMAlertController' #->アラートに使用する
AppDelegate
ファイルに記述が必要。
import Firebase
#didFinishLaunchingWithOptionsのメソッド内に記述
FirebaseApp.configure()
Authenticationを使用してログインを管理する
Firebaseの「Authentication」という機能でログインの設定やユーザー管理ができる。
Sign-in methodタブの「新しいプロパイダを追加」で
ログイン方法にTwitterやGoogleアカウントを設定できる。
今回のアプリでは匿名ログインを設定。
UsersタブでログインユーザーのIDやユーザーIDを管理できる。
Authenticationを使用したログインやログアウトを行う方法。
deviseのような感じですかね。
まず、機能を使いたいコントローラーにFirebaseAuth
をimportする。
テキストフィールドに入力した名前で匿名ログインを行う処理
func login(){
//データベースにアクセスし、匿名ログインを行う処理
Auth.auth().signInAnonymously{ (result, error) in
//値がresult(成功)の場合はユーザー名が入ってくる
let user = result?.user
//ユーザーネームをアプリ内に保存
UserDefaults.standard.set(self.textField.text, forKey: "userName")
//ナビゲーションコントローラーを使用した画面遷移。
let viewVC = self.storyboard?.instantiateViewController(withIdentifier: "viewVC") as! ViewController
self.navigationController?.pushViewController(viewVC, animated: true)
}
}
ログアウトを行う処理
@IBActionfunclogOut(_sender: Any) {
let firebaseAuth = Auth.auth()
do{
try firebaseAuth.signOut()
//ユーザーネームとドキュメントidを消去
UserDefaults.standard.removeObject(forKey: "userName")
UserDefaults.standard.removeObject(forKey: "documentID")
} catch let error as NSError{
print("エラー",error)
}
//ログアウトして前画面に遷移
self.navigationController?.popViewController(animated: true)
}
Firebaseに使い方が説明されているっぽい。時間があるときに公式を見よう(´ω`*)
コメント