k-coding
Xcode Firebase를 이용한 간단한 로그인 구현하기 본문
혼자서 공부하면서 프로젝트를 만들다보면 자주 겪는 문제중 하나가
회원가입, 로그인을 구현하고자 할 때 혼자서 매번 데이터베이스를 구축하면 너무 시간이 오래걸리고 어렵다는거다 (제 기준입니다 ㅠ)
이럴때 google에서 지원하는 Firebase를 이용하면 간단하게 데이터를 관리해주는 나만의 서버를 만들수 있습니다.
우선 들어거가전에, 한가지 알아두셔야 할 점은
Firebase는 위에서 소개한대로 정말 간단하게 데이터를 저장할 수 있지만,
그정도일 뿐 보안이나 후에 데이터관리에는 다소 어려움이 크기 때문에 작거나, 개인 프로젝트 정도에만 적용하시는걸 추천드립니다.
Podfile에 firebase 설치하기
우선 터미널에 들어가서 Firebase를 넣어주고자 하는 파일에 Podfile에 들어갑시다.
방법은 다음과 같습니다.
1. 터미널을 킨다.
2. 다음과 같이 입력한다.
저의 경우에 xCode파일이 [swiftPractice] -> [ChatApp]이라는 파일안에 있어 접근한 후 Podfile을 여는 명령어를 실행
혹시 과정중에 Podfile이 설치되어있지 않다면 설치하고 오셔야합니다.
3. 열린 Podfile에 다음과 같이 입력
4. Podfile을 닫은후 터미널에 다음과 같이 입력
성공적으로 설치가 되었단 문구가 뜨면 성공입니다.
5. 켜져있는 Xcode를 닫고 재 실행
Xcode를 다시 여셨다면 Appdelegate.swift 파일로 이동하세요.
Firebase 연동하기
1. https://firebase.google.com로 이동 후, 시작하기 버튼 클릭
2. 프로젝트 추가
3. 프로젝트 등록
1) "프로젝트 이름"은 자유지만 이왕이면 본인 프로젝트이름과 같게 해주세요
2) 계속 버튼
3) 계정선택 "Default Account For Firebase" 선택 후 프로젝트 만들기
4) 생성된 프로젝트에 iOS+ (apple)버튼 클릭
5) Apple Bundle ID입력
위에 보이는 제일 위에 칸에 com.\(Bundel Identifier)값 넣어주시고 밑에 2개는 패스 하셔도 됩니다.
6) 구성 파일 다운로드
다음 2번에 있는 파일을 다운로드 받으시고 해당위치에 올려주세요.
4. Appdelegate.swift 파일에 다음과 같이 입력
import UIKit
import CoreData
import Firebase // <- 추가
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
FirebaseApp.configure() // <- 추가
return true
}
"<- 추가" 라고 써 있는 해당 줄만 추가해주시면 됩니다.
5. 로그인, 회원가입을 진행할 파일로 이동
대부분 로그인,회원가입을 진행할 Viewcontroller가 다를탠데 각각파일에
import FirebaseAuth
추가해주시면 됩니다.
회원가입 & 로그인 구현하기
여기까지 오셨으면 여러분에 파일에 firebase를 통한 기능을 구현하기 위한 설치는 다 끝났습니다.
이제 회원가입을 먼저 진행해봅시다.
@objc private func registerButtonTapped() {
FirebaseAuth.Auth.auth().createUser(withEmail: email, password: password, completion: { authResult, error in
guard let result = authResult ,error == nil else {
print("fatal error")
return
}
let user = result.user
print("create success: \(user)")
})
}
저는 email,password를 통하여 로그인을 실행할 겁니다.
에? 그걸 어케 정하냐구요?
해당 화면에가서 [ 새 재공업체 추가 ] 버튼을 클릭 후 [이메일/비밀번호]를 선택하시면
해당 소스에 createUser부분을 작성하실 때 자동완성으로 프로퍼티에 withEmail,password가 따라옵니다.
자 위에 소스를 입력하셨다면 일단 회원가입은 완성되었습니다 한번 볼까요?
다음과 같은 이메일과 비밀번호(12345678)로 회원가입을 해보겠습니다. 버튼 클릭 시
라는 문구가 print되고, firebase 서버에도 아래와 같이 성공적으로 추가된것을 확인하실 수 있습니다.
자 다음은 로그인을 알아보겠습니다.
마찬가지로 로그인을 수행할 swift파일로 가신 후 로그인을 해줄 버튼에 다음과 같이 입력해주시면 됩니다.
@objc private func loginButtonTapped() {
FirebaseAuth.Auth.auth().signIn(withEmail: email, password: password, completion: { authResult, error in
guard let result = authResult, error == nil else {
print("failed to login")
return
}
let user = result.user
print("LogIn success \(user)")
})
}
연결된 로그인 버튼에 위에서 생성한 계정으로 로그인을 시도하자
다음과 같이 로그인이 성공한 모습을 보실 수 있습니다.
로그인 성공 후 다음 ViewController를 보여줄거라면 해당 코드에 다음 뷰를 나타내는 코드를 추가하면 되겠군요!
이상으로 정말 간단하게 firebase를 통한 기초 로그인에 대하여 포스트했습니다.
물론 이메일 형태라지만
다음과 같은 코드부분에선 정말 존재하는 이메일인지 같은 검증은 없으므로 인지부탁드립니다.
'iOS > Xcode' 카테고리의 다른 글
Realm ( 2 ) (0) | 2022.04.03 |
---|---|
Realm ( 1 ) (0) | 2022.03.30 |
Xcode Swift. Shimmer Animation 만들기 (0) | 2022.02.07 |
Xcode Swift 그라데이션 뷰, 버튼 만들기 (0) | 2022.02.07 |
Xcode CollectionView 콜랙션 뷰 ( 2 ) (0) | 2022.02.04 |