https://ios-development.tistory.com/767

NotificationCenter 활용

UserDefaults를 사용해서 login 여부 확인하고 로그인한 적 없다면 로그인 화면이동, 로그인 한 적 있다면 홈 화면 이동

앱 시작 시, userDefault를 통해 로그인 여부 확인

Auth.auth().currentUser는 옵셔널 타입이다. 로그인을 하지 않은 경우 nil을 반환, 로그인을 한 경우 User객체를 반환한다.

최초 로그인 시, Auth.auth().currentUser이 키체인을 통해 유저의 로그인 정보를 저장한다. 따라서 앱을 껐다 켜도 Auth.auth().currentUser가 저장되어있다.


Flow

  1. Firebase 로그인 여부 확인하기
  2. Firebase 토큰 유효성 검사하기
  3. Apple Credential 검증하기

3가지가 모두 성공하면 자동로그인을 허용한다. 하지만 3가지 중 한 가지라도 실패하면 로그인 화면으로 이동한다.