본문 바로가기

Project/FirebaseTest

(12)
FireBase - 회원 탈퇴 (Firestorage 폴더 삭제) deleteUser 메서드 public func deleteUser(completion: @escaping (Bool, Error?) -> Void) { guard let user = Auth.auth().currentUser else { completion(false, NSError(domain: "", code: 401, userInfo: [NSLocalizedDescriptionKey: "No user is logged in."])) return } let db = Firestore.firestore() let userUID = user.uid let storageRef = Stora..
FireBase - 회원 정보 불러오기_프로필 이미지 사용방식 (다운로드 vs URL 기반 로딩) 프로필 이미지의 사용 방식에 따라 다운로드 후 직접 처리와 URL 기반 로딩 중 어떤 방식을 선택할지 결정하는 것은 중요한 디자인 선택입니다. 아래에서는 프로필 이미지의 특성과 두 가지 방법의 장단점을 비교하여 어떤 경우에 어떤 방식을 선택하는 것이 더 적합한지 설명드리겠습니다. 프로필 이미지의 특성정적 데이터:프로필 이미지는 사용자가 자주 변경하지 않으며, 변경된 이후에는 비교적 오랜 시간 동안 동일한 이미지를 사용.반복 접근:앱에서 여러 화면에서 프로필 이미지를 사용할 가능성이 높음.자주 접근하는 데이터는 캐싱이 중요.중요 데이터:프로필 이미지는 사용자의 시각적 식별에 중요한 데이터로, 앱에서 항상 정확히 표시되어야 함. 두 가지 방식의 비교방식장점단점1. 다운로드 후 메모리에서 처리- 이미지가 메모..
FireBase - 회원 정보 불러오기 fetchUser 메서드 public func fetchUser(completion: @escaping (User?, Error?) -> Void) { guard let userUID = Auth.auth().currentUser?.uid else { completion(nil, NSError(domain: "", code: -1, userInfo: [NSLocalizedDescriptionKey: "사용자가 로그인되어 있지 않습니다."])) return } let db = Firestore.firestore() db.collection("users") .docu..
FireBase - 회원가입할 때 프로필 이미지 포함 saveUserToFirestore 메서드private func saveUserToFirestore(userUID: String, username: String, email: String, profileImageURL: String, completion: @escaping (Bool, Error?) -> Void) { let db = Firestore.firestore() let userData: [String: Any] = [ "username": username, "email": email, "profileImageURL": profileImageURL, "createdAt": Tim..
FireBase - 사용자 정보 불러오기 및 사용자 삭제 public func fetchUser(completion: @escaping (User?, Error?) -> Void) { guard let userUID = Auth.auth().currentUser?.uid else { return } let db = Firestore.firestore() db.collection("users") .document(userUID) .getDocument { snapshot, error in if let error = error { completion(nil, error) ..
FireBase - 유효성 검사 + 사용자 등록 Validatorimport Foundationclass Validator { static func isValidEmail(for email: String) -> Bool { let email = email.trimmingCharacters(in: .whitespacesAndNewlines) let emailRegEx = "[A-Z0-9a-z]+([._%+-]{1}[A-Z0-9a-z]+)*@[A-Z0-9a-z]+([.-]{1}[A-Z0-9a-z]+)*(\\.[A-Za-z]{2,4}){0,1}" let emailPred = NSPredicate(format: "SELF MATCHES %@", emailRegEx) return emailPred...
FireBase - 로그인과 로그아웃 처리하는 메서드 정의 AutheServiceimport Foundationimport FirebaseAuthimport FirebaseFirestoreclass AutheService { ... public func signIn(with userRequest: LoginUserRequest, completion: @escaping (Error?) -> Void) { let email = userRequest.email let password = userRequest.password Auth.auth().signIn(withEmail: email, password: password) { result, e..
FireBase - 사용자 등록 기능 https://firebase.google.com/docs/auth/ios/start?hl=ko&_gl=1*18o4hk5*_up*MQ..*_ga*NTI2ODUyODA1LjE3MzMxOTIwNjM.*_ga_CW55HF8NVT*MTczMzE5MjA2My4xLjAuMTczMzE5MjA2My4wLjAuMA.. Apple 플랫폼에서 Firebase 인증 시작하기  |  Firebase Authentication2024년 데모 데이에서 Firebase를 사용하여 AI 기반 앱을 빌드하고 실행하는 방법에 관한 데모를 시청하세요. 지금 시청하세요. 의견 보내기 Apple 플랫폼에서 Firebase 인증 시작하기 컬렉션을 사용해firebase.google.com https://normalblog.tistory.com/6..