12
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Swift】Firebase導入方法 〜 Realtime Database & Cloud Firestore の使用方法

Posted at

前書き

Firebaseを使用したアプリを作成したので、今後Firebaseを使用したプロジェクトの導入をスムーズにするために導入方法をメモしました。
Realtime DatabaseCloud Firestoreのデータベース作成方法と使用方法についても後半で説明しています。

① プロジェクトの作成手順

1. Firebaseコンソールにアクセスしてプロジェクトを作成を押下

1.png

2. プロジェクトの作成

 プロジェクト名に任意のプロジェクト名を入力
 続行ボタンを押下
スクリーンショット 2020-10-04 17.44.54.png

3. アナリティクスの構成

 デフォルトのまま続行ボタンを押下
3.png

 アナリティクスの地域を日本に設定
 データ共有の設定と Googleアナリティクスの利用規約に全チェック
 プロジェクトを作成ボタンを押下
4.png

4. 作成完了

 続行ボタンを押下
スクリーンショット 2020-10-04 17.45.44.png

② アプリの追加

1. iOSアプリにFirebaseを使用するための設定ファイルを導入する

 プロジェクトのコンソールからiOSを選択
1.png

2. iOSアプリにFirebaseを追加する

 1. iOSバンドルIDにFirebaseを追加するiOSアプリのバンドルIDを記入
  アプリのニックネーム App Store IDは省略可能です
  入力し終えたらアプリを登録ボタンを押下
2.png

 2. GoogleService-info.plistをダウンロードしてプロジェクトのルートフォルダにコピーします。
  コピーしたら次へボタンを押下
3.png

 3. 表示されている手順通りにFirebase SDKをCocoaPods経由でインストールします。
  導入が完了したら次へボタンを押下
4.png

 4. Swiftを選択。
   iOSアプリ側でAppDelegate.swiftを開き。下記の2箇所を追記する。
   記入したら次へボタンを押下。
5.png

 5. アプリ起動して疎通確認してみましょう。

・疎通確認中
6.png

・疎通成功
7.png

③ Realtime Databaseでデータベースを作成

 1. 作成したプロジェクトを開く
1.png

 2. Realtime Databaseを選択して、データベースを作成ボタンを押下
2.png

 3. ロックモードで開始を選択して、有効にするボタンを押下
3.png

 4. ルールからread writetrueにして、公開ボタンを押下
4.png

 5. Realtime Databaseを使用するためのSDKをCocoaPod経由でインストールする

pod 'Firebase/Database'

 6. ViewController.Swiftに下記のコードをコピペしてアプリを実行する

import UIKit
import FirebaseDatabase

class ViewController: UIViewController {
    
    var databaseRef: DatabaseReference!

    override func viewDidLoad() {
        super.viewDidLoad()
        
        // Firebaseの共有インスタンスを取得
        databaseRef = Database.database().reference()
        
        // データ保存処理後のコールバック関数
        let resultCallback = { (error: Error?, ref: DatabaseReference) -> () in
            print(#function)
        }
        
        // データ保存
        self.databaseRef.child("Root").childByAutoId().setValue("TestValue", withCompletionBlock: resultCallback)
    }
}

 7. Realtime Databaseのコンソールを確認すると、データが保存されていることが確認できます。
7.png

④ Cloud Firestoreでデータベースを作成

 1. 作成したプロジェクトを開く
1.png

 2. Cloud Firestoreを選択して、データベースの作成ボタンを押下
1.png

 3. 本番環境モードで開始するを選択して、次へボタンを押下
2.png

 4. Cloud Firestoreからnam5(us-central) を選択して、有効にするボタンを押下
3.png

 5. ルールからread writetrueにして、公開ボタンを押下
4.png

 6. Cloud Firestoreを使用するためのSDKをCocoaPod経由でインストールする

pod 'Firebase/Firestore'

 7. データからコレクションを開始を選択
5.png

 8. コレクションIDにusersと入力して次へボタンを押下
6.png

 9. 下記の内容を入力して保存ボタンを押下
 ドキュメントID: user_data
 フィールド: name
 タイプ: string
 値: テストユーザー
7.png

8.png

 10. ViewController.swift に下記のコードをコピペして実行すると、コンソールにユーザー名が出力されます

import UIKit
import FirebaseFirestore

class ViewController: UIViewController {
    
    // Firestoreの共有インスタンス
    var databaseStore: Firestore!

    override func viewDidLoad() {
        super.viewDidLoad()
        
        // Firestore共有インスタンス
        self.databaseStore = Firestore.firestore()
        
        // usersコレクションからデータを取得
        databaseStore.collection("users").document("user_data").getDocument{ (document, error) in
            
            if let document = document {
                if let data = document.data() {
                    // ユーザー名を取得
                    let name: String = (data["name"] as? String)!
                    
                    print(name)
                }
            } else {
                print("error")
            }
        }
    }
}
12
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?