From 7f7289ea56b2e61240a317c9dcac7ca5a2d51c9d Mon Sep 17 00:00:00 2001 From: opficdev Date: Tue, 3 Mar 2026 17:58:11 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EC=82=AC=EC=9A=A9=EC=9E=90=EA=B0=80=20?= =?UTF-8?q?=EB=A1=9C=EA=B7=B8=EC=95=84=EC=9B=83=20(=EC=9E=90=EB=8F=99,=20?= =?UTF-8?q?=EC=88=98=EB=8F=99=20=ED=8F=AC=ED=95=A8)=20=20=EB=90=98?= =?UTF-8?q?=EC=97=88=EC=9D=84=20=EA=B2=BD=EC=9A=B0=20userdefaults=EC=97=90?= =?UTF-8?q?=20=EC=A0=80=EC=9E=A5=EB=90=9C=20=EB=8D=B0=EC=9D=B4=ED=84=B0?= =?UTF-8?q?=EB=A5=BC=20=EB=AA=A8=EB=91=90=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DevLog/App/Assembler/DataAssembler.swift | 5 ++++- DevLog/Data/Repository/AuthSessionRepositoryImpl.swift | 7 ++++++- DevLog/Storage/Persistence/UserDefaultsStore.swift | 5 +++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/DevLog/App/Assembler/DataAssembler.swift b/DevLog/App/Assembler/DataAssembler.swift index fc63bd62..ebe70a5b 100644 --- a/DevLog/App/Assembler/DataAssembler.swift +++ b/DevLog/App/Assembler/DataAssembler.swift @@ -33,7 +33,10 @@ final class DataAssembler: Assembler { } container.register(AuthSessionRepository.self) { - AuthSessionRepositoryImpl(authService: container.resolve(AuthService.self)) + AuthSessionRepositoryImpl( + authService: container.resolve(AuthService.self), + userDefaultsStore: container.resolve(UserDefaultsStore.self) + ) } container.register(AuthDataRepository.self) { diff --git a/DevLog/Data/Repository/AuthSessionRepositoryImpl.swift b/DevLog/Data/Repository/AuthSessionRepositoryImpl.swift index 64357050..ca15eec6 100644 --- a/DevLog/Data/Repository/AuthSessionRepositoryImpl.swift +++ b/DevLog/Data/Repository/AuthSessionRepositoryImpl.swift @@ -9,9 +9,11 @@ import Combine final class AuthSessionRepositoryImpl: AuthSessionRepository { private let authService: AuthService + private let userDefaultsStore: UserDefaultsStore - init(authService: AuthService) { + init(authService: AuthService, userDefaultsStore: UserDefaultsStore) { self.authService = authService + self.userDefaultsStore = userDefaultsStore self.signIn = authService.uid != nil } @@ -22,6 +24,9 @@ final class AuthSessionRepositoryImpl: AuthSessionRepository { } func setSession(_ signedIn: Bool) { + if !signedIn { + userDefaultsStore.removeAll() + } self.signIn = signedIn } } diff --git a/DevLog/Storage/Persistence/UserDefaultsStore.swift b/DevLog/Storage/Persistence/UserDefaultsStore.swift index 4c964719..bf3e371b 100644 --- a/DevLog/Storage/Persistence/UserDefaultsStore.swift +++ b/DevLog/Storage/Persistence/UserDefaultsStore.swift @@ -37,4 +37,9 @@ final class UserDefaultsStore { func setBool(_ value: Bool, forKey key: String) { userDefaults.set(value, forKey: key) } + + func removeAll() { + guard let bundleIdentifier = Bundle.main.bundleIdentifier else { return } + userDefaults.removePersistentDomain(forName: bundleIdentifier) + } }