0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Firebase ~swift編~

Posted at

はじめに

 こんにちは〜、初めましての投稿になりまーす。
初心者ですが、よろしくですっ🐝

本題

頑張りましょう

fFirebaseに登録

スクリーンショット 2024-08-23 23.59.28.png

1,とりあえずFirebaseを開いてもろて「使ってみる」を選択。

2,そしたら次に、「プロジェクトを作成」を選択。

3,そこからは流されるままに、『プロジェクト名」の作成、

チェック項目は特に理由がない限り全部チェック

Firebaseとswiftの連携

スクリーンショット 2024-08-24 0.14.20.png

 こんな画面になると思います、そうしたら一番左の『iOS+」を選択

ここからは勘ではむずいです

 そうされましたら、こんな登録画面が出現と思います

スクリーンショット 2024-08-24 0.18.38.png

 ここのバンドルIDとかニックネームとかしっかりやりたい人はすればいいと思いますけど、適当にしていただいて結構です。入力終わりましたら「アプリを登録」を押していただきまして次に、

スクリーンショット 2024-08-24 0.24.02.png

 こんなのが出現すると思いますが飛ばしてください
めっちゃしたいと思いますが飛ばしてください。すると

スクリーンショット 2024-08-24 0.27.00.png

 次はこんなのが出てきます。飛ばしていいですこれまじで

 次がラスボスです

スクリーンショット 2024-08-24 0.29.37.png

飛ばして下さい、後悔させません(多分)

そうしたらサイドバー的なところの構成から

スクリーンショット 2024-08-24 0.32.37.png

「Authentication」を選択。

「始める」を押していただいたら

スクリーンショット 2024-08-24 0.40.05.png

 とりあえず「メール/パスワード」を選択していただきたく
Gmailはまた後でのお楽しみということに…
そしていつものごとくチェックをつけて保存してください🌾

そうされましたらまたサイドバー的なところの⚙️マークを押してください

そうするとプロジェクトの設定ページに飛ぶと思います。そしたらちょっとスクロールして、SDKの設定というとこにいってください。

そこからGoogleService-Info.plistをダウンロード

ここまでがFirebaseですることです。お疲れ様です。まだ続きますが…

Xcodeですること

 まずは先ほどダウンロードしたGoogleService-Info.plistをプロジェクトのContentView.swiftとかがあるファイルにぶち込んでください。

それが終わりましたら、Xcodeでプロジェクトファイルを右クリックしてAdd package Dependecies...を押してくださいな

右クリックってトラックパッドの右を2本指で長押しするとできます
僕は最近知りました。感動です

そうしたら検索ボックスで

https://github.com/firebase/firebase-ios-sdk

 こちらを検索。そしたらAdd Packageするんだけど

このまましてもできません!

そこでDependency Ruleを押して

スクリーンショット 2024-08-24 1.09.48.png

Branchを選択しmainと入力します。

多分ここが一番つまずきます

そしたらAdd Packageしてもらうんですけど

スクリーンショット 2024-08-24 1.13.42.png

 こんなのが出てきたら「FirebaseAuth」だけAdd to targetを「none」じゃなくしてAddしちゃってください!

そしたら次に

https://github.com/firebase/firebase-ios

 こちらを検索してください、

またBranch → 「main」入力の作業をしてください

 そうしたら今度は「FirebaseAuthUI」「FirebaseOAuthUI」「FirebaseEmailAuthUI」をnoneから除外!

そうしたら難しいのはここまであとはコピペでナントカしましょう

まずはLoginView.swift

LogingView.swift
import SwiftUI
import FirebaseAuth
import FirebaseAuthUI
import FirebaseOAuthUI
import FirebaseEmailAuthUI
 
struct LoginView: View {
    
    @State var email: String = ""
    @State var password: String = ""
    @State var ErrorMessage: String = ""
    
    var body: some View {
        ZStack {
            Color(.secondarySystemBackground)
                .ignoresSafeArea()
        
            TextField("email", text: $email)
                .textFieldStyle(myTextStyle())
                .frame(width : 300)
                .offset(y : -50)
            TextField("password", text: $password)
                .textFieldStyle(myTextStyle())
                .frame(width : 300)
            
            Button(action: {
                SignUp()
            }, label: {
                Text("SignUp")
            })
            .padding()
            .offset(y : 50)
            Text(ErrorMessage)
                .padding()
                .foregroundColor(.red)
                .offset(y : 100)
        }
    }
    
    func SignUp() {
        Auth.auth().createUser(withEmail: email, password: password) { result, error in
            if error == nil {
                ErrorMessage = "Done"
            }
            else {
                if let errorCode = AuthErrorCode(rawValue: error!._code) {
                    switch errorCode {
                    case .invalidEmail:
                        ErrorMessage = "Invalid Email"
                    case .weakPassword:
                        ErrorMessage = "Weak Password"
                    case .emailAlreadyInUse:
                        ErrorMessage = "Email Already In Use"
                    case .wrongPassword:
                        ErrorMessage = "Wrong Password"
                    default:
                        ErrorMessage = "Error"
                    }
                }
            }
        }
    }
}

#Preview {
    LoginView()
}

最後にトッピング(かなり重要)

@mainが存在するファイルに

まずなんもないとことに

App.swift
import FirebaseCore

class AppDelegate: NSObject, UIApplicationDelegate {
  func application(_ application: UIApplication,
                   didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
    FirebaseApp.configure()

    return true
  }
}

こちらを追加、そして@mainのスコープに

App.swift
@UIApplicationDelegateAdaptor(AppDelegate.self) var delegate

こちらを追加。これで終わりです

お疲れ様でしたー

参考 https://qiita.com/nanashi_pi314

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?